summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNarr the Reg <juangerman-13@hotmail.com>2023-09-12 01:12:51 +0200
committergerman77 <juangerman-13@hotmail.com>2023-09-12 06:07:55 +0200
commit4d138b760b1eb09ee59dca40dba86112e3c8a39d (patch)
tree4fd79a542ac74328c907540e7593eb44d95db947
parentmii: service: Address review (diff)
downloadyuzu-4d138b760b1eb09ee59dca40dba86112e3c8a39d.tar
yuzu-4d138b760b1eb09ee59dca40dba86112e3c8a39d.tar.gz
yuzu-4d138b760b1eb09ee59dca40dba86112e3c8a39d.tar.bz2
yuzu-4d138b760b1eb09ee59dca40dba86112e3c8a39d.tar.lz
yuzu-4d138b760b1eb09ee59dca40dba86112e3c8a39d.tar.xz
yuzu-4d138b760b1eb09ee59dca40dba86112e3c8a39d.tar.zst
yuzu-4d138b760b1eb09ee59dca40dba86112e3c8a39d.zip
-rw-r--r--src/core/hle/service/mii/mii_types.h541
-rw-r--r--src/core/hle/service/mii/types/char_info.cpp170
-rw-r--r--src/core/hle/service/mii/types/char_info.h96
-rw-r--r--src/core/hle/service/mii/types/core_data.cpp272
-rw-r--r--src/core/hle/service/mii/types/core_data.h91
-rw-r--r--src/core/hle/service/mii/types/raw_data.cpp976
-rw-r--r--src/core/hle/service/mii/types/raw_data.h16
-rw-r--r--src/core/hle/service/mii/types/store_data.cpp138
-rw-r--r--src/core/hle/service/mii/types/store_data.h78
-rw-r--r--src/core/hle/service/mii/types/ver3_store_data.cpp228
10 files changed, 1537 insertions, 1069 deletions
diff --git a/src/core/hle/service/mii/mii_types.h b/src/core/hle/service/mii/mii_types.h
index 8fc827b5a..95476f745 100644
--- a/src/core/hle/service/mii/mii_types.h
+++ b/src/core/hle/service/mii/mii_types.h
@@ -13,65 +13,526 @@
namespace Service::Mii {
-enum class Age : u32 {
+constexpr u8 MaxHeight = 127;
+constexpr u8 MaxBuild = 127;
+constexpr u8 MaxType = 1;
+constexpr u8 MaxRegionMove = 3;
+constexpr u8 MaxEyeScale = 7;
+constexpr u8 MaxEyeAspect = 6;
+constexpr u8 MaxEyeRotate = 7;
+constexpr u8 MaxEyeX = 12;
+constexpr u8 MaxEyeY = 18;
+constexpr u8 MaxEyebrowScale = 8;
+constexpr u8 MaxEyebrowAspect = 6;
+constexpr u8 MaxEyebrowRotate = 11;
+constexpr u8 MaxEyebrowX = 12;
+constexpr u8 MaxEyebrowY = 18;
+constexpr u8 MaxNoseScale = 8;
+constexpr u8 MaxNoseY = 18;
+constexpr u8 MaxMouthScale = 8;
+constexpr u8 MaxMoutAspect = 6;
+constexpr u8 MaxMouthY = 18;
+constexpr u8 MaxMustacheScale = 8;
+constexpr u8 MasMustacheY = 16;
+constexpr u8 MaxGlassScale = 7;
+constexpr u8 MaxGlassY = 20;
+constexpr u8 MaxMoleScale = 8;
+constexpr u8 MaxMoleX = 16;
+constexpr u8 MaxMoleY = 30;
+constexpr u8 MaxVer3CommonColor = 7;
+constexpr u8 MaxVer3GlassType = 8;
+
+enum class Age : u8 {
Young,
Normal,
Old,
- All,
+ All, // Default
+
+ Max = All,
+};
+
+enum class Gender : u8 {
+ Male,
+ Female,
+ All, // Default
+
+ Max = Female,
};
-enum class BeardType : u32 {
+enum class Race : u8 {
+ Black,
+ White,
+ Asian,
+ All, // Default
+
+ Max = All,
+};
+
+enum class HairType : u8 {
+ NormalLong, // Default
+ NormalShort,
+ NormalMedium,
+ NormalExtraLong,
+ NormalLongBottom,
+ NormalTwoPeaks,
+ PartingLong,
+ FrontLock,
+ PartingShort,
+ PartingExtraLongCurved,
+ PartingExtraLong,
+ PartingMiddleLong,
+ PartingSquared,
+ PartingLongBottom,
+ PeaksTop,
+ PeaksSquared,
+ PartingPeaks,
+ PeaksLongBottom,
+ Peaks,
+ PeaksRounded,
+ PeaksSide,
+ PeaksMedium,
+ PeaksLong,
+ PeaksRoundedLong,
+ PartingFrontPeaks,
+ PartingLongFront,
+ PartingLongRounded,
+ PartingFrontPeaksLong,
+ PartingExtraLongRounded,
+ LongRounded,
+ NormalUnknown1,
+ NormalUnknown2,
+ NormalUnknown3,
+ NormalUnknown4,
+ NormalUnknown5,
+ NormalUnknown6,
+ DreadLocks,
+ PlatedMats,
+ Caps,
+ Afro,
+ PlatedMatsLong,
+ Beanie,
+ Short,
+ ShortTopLongSide,
+ ShortUnknown1,
+ ShortUnknown2,
+ MilitaryParting,
+ Military,
+ ShortUnknown3,
+ ShortUnknown4,
+ ShortUnknown5,
+ ShortUnknown6,
+ NoneTop,
None,
- Beard1,
- Beard2,
- Beard3,
- Beard4,
- Beard5,
+ LongUnknown1,
+ LongUnknown2,
+ LongUnknown3,
+ LongUnknown4,
+ LongUnknown5,
+ LongUnknown6,
+ LongUnknown7,
+ LongUnknown8,
+ LongUnknown9,
+ LongUnknown10,
+ LongUnknown11,
+ LongUnknown12,
+ LongUnknown13,
+ LongUnknown14,
+ LongUnknown15,
+ LongUnknown16,
+ LongUnknown17,
+ LongUnknown18,
+ LongUnknown19,
+ LongUnknown20,
+ LongUnknown21,
+ LongUnknown22,
+ LongUnknown23,
+ LongUnknown24,
+ LongUnknown25,
+ LongUnknown26,
+ LongUnknown27,
+ LongUnknown28,
+ LongUnknown29,
+ LongUnknown30,
+ LongUnknown31,
+ LongUnknown32,
+ LongUnknown33,
+ LongUnknown34,
+ LongUnknown35,
+ LongUnknown36,
+ LongUnknown37,
+ LongUnknown38,
+ LongUnknown39,
+ LongUnknown40,
+ LongUnknown41,
+ LongUnknown42,
+ LongUnknown43,
+ LongUnknown44,
+ LongUnknown45,
+ LongUnknown46,
+ LongUnknown47,
+ LongUnknown48,
+ LongUnknown49,
+ LongUnknown50,
+ LongUnknown51,
+ LongUnknown52,
+ LongUnknown53,
+ LongUnknown54,
+ LongUnknown55,
+ LongUnknown56,
+ LongUnknown57,
+ LongUnknown58,
+ LongUnknown59,
+ LongUnknown60,
+ LongUnknown61,
+ LongUnknown62,
+ LongUnknown63,
+ LongUnknown64,
+ LongUnknown65,
+ LongUnknown66,
+ TwoMediumFrontStrandsOneLongBackPonyTail,
+ TwoFrontStrandsLongBackPonyTail,
+ PartingFrontTwoLongBackPonyTails,
+ TwoFrontStrandsOneLongBackPonyTail,
+ LongBackPonyTail,
+ LongFrontTwoLongBackPonyTails,
+ StrandsTwoShortSidedPonyTails,
+ TwoMediumSidedPonyTails,
+ ShortFrontTwoBackPonyTails,
+ TwoShortSidedPonyTails,
+ TwoLongSidedPonyTails,
+ LongFrontTwoBackPonyTails,
+
+ Max = LongFrontTwoBackPonyTails,
};
-enum class BeardAndMustacheFlag : u32 {
- Beard = 1,
- Mustache,
- All = Beard | Mustache,
+enum class MoleType : u8 {
+ None, // Default
+ OneDot,
+
+ Max = OneDot,
+};
+
+enum class HairFlip : u8 {
+ Left, // Default
+ Right,
+
+ Max = Right,
+};
+
+enum class CommonColor : u8 {
+ // For simplicity common colors aren't listed
+ Max = 99,
+ Count = 100,
+};
+
+enum class FavoriteColor : u8 {
+ Red, // Default
+ Orange,
+ Yellow,
+ LimeGreen,
+ Green,
+ Blue,
+ LightBlue,
+ Pink,
+ Purple,
+ Brown,
+ White,
+ Black,
+
+ Max = Black,
+};
+
+enum class EyeType : u8 {
+ Normal, // Default
+ NormalLash,
+ WhiteLash,
+ WhiteNoBottom,
+ OvalAngledWhite,
+ AngryWhite,
+ DotLashType1,
+ Line,
+ DotLine,
+ OvalWhite,
+ RoundedWhite,
+ NormalShadow,
+ CircleWhite,
+ Circle,
+ CircleWhiteStroke,
+ NormalOvalNoBottom,
+ NormalOvalLarge,
+ NormalRoundedNoBottom,
+ SmallLash,
+ Small,
+ TwoSmall,
+ NormalLongLash,
+ WhiteTwoLashes,
+ WhiteThreeLashes,
+ DotAngry,
+ DotAngled,
+ Oval,
+ SmallWhite,
+ WhiteAngledNoBottom,
+ WhiteAngledNoLeft,
+ SmallWhiteTwoLashes,
+ LeafWhiteLash,
+ WhiteLargeNoBottom,
+ Dot,
+ DotLashType2,
+ DotThreeLashes,
+ WhiteOvalTop,
+ WhiteOvalBottom,
+ WhiteOvalBottomFlat,
+ WhiteOvalTwoLashes,
+ WhiteOvalThreeLashes,
+ WhiteOvalNoBottomTwoLashes,
+ DotWhite,
+ WhiteOvalTopFlat,
+ WhiteThinLeaf,
+ StarThreeLashes,
+ LineTwoLashes,
+ CrowsFeet,
+ WhiteNoBottomFlat,
+ WhiteNoBottomRounded,
+ WhiteSmallBottomLine,
+ WhiteNoBottomLash,
+ WhiteNoPartialBottomLash,
+ WhiteOvalBottomLine,
+ WhiteNoBottomLashTopLine,
+ WhiteNoPartialBottomTwoLashes,
+ NormalTopLine,
+ WhiteOvalLash,
+ RoundTired,
+ WhiteLarge,
+
+ Max = WhiteLarge,
+};
+
+enum class MouthType : u8 {
+ Neutral, // Default
+ NeutralLips,
+ Smile,
+ SmileStroke,
+ SmileTeeth,
+ LipsSmall,
+ LipsLarge,
+ Wave,
+ WaveAngrySmall,
+ NeutralStrokeLarge,
+ TeethSurprised,
+ LipsExtraLarge,
+ LipsUp,
+ NeutralDown,
+ Surprised,
+ TeethMiddle,
+ NeutralStroke,
+ LipsExtraSmall,
+ Malicious,
+ LipsDual,
+ NeutralComma,
+ NeutralUp,
+ TeethLarge,
+ WaveAngry,
+ LipsSexy,
+ SmileInverted,
+ LipsSexyOutline,
+ SmileRounded,
+ LipsTeeth,
+ NeutralOpen,
+ TeethRounded,
+ WaveAngrySmallInverted,
+ NeutralCommaInverted,
+ TeethFull,
+ SmileDownLine,
+ Kiss,
+
+ Max = Kiss,
};
-DECLARE_ENUM_FLAG_OPERATORS(BeardAndMustacheFlag);
-enum class FontRegion : u32 {
- Standard,
+enum class FontRegion : u8 {
+ Standard, // Default
China,
Korea,
Taiwan,
+
+ Max = Taiwan,
};
-enum class Gender : u32 {
- Male,
- Female,
- All,
- Maximum = Female,
+enum class FacelineType : u8 {
+ Sharp, // Default
+ Rounded,
+ SharpRounded,
+ SharpRoundedSmall,
+ Large,
+ LargeRounded,
+ SharpSmall,
+ Flat,
+ Bump,
+ Angular,
+ FlatRounded,
+ AngularSmall,
+
+ Max = AngularSmall,
};
-enum class HairFlip : u32 {
- Left,
- Right,
- Maximum = Right,
+enum class FacelineColor : u8 {
+ Beige, // Default
+ WarmBeige,
+ Natural,
+ Honey,
+ Chestnut,
+ Porcelain,
+ Ivory,
+ WarmIvory,
+ Almond,
+ Espresso,
+
+ Max = Espresso,
+ Count = Max + 1,
};
-enum class MustacheType : u32 {
+enum class FacelineWrinkle : u8 {
+ None, // Default
+ TearTroughs,
+ FacialPain,
+ Cheeks,
+ Folds,
+ UnderTheEyes,
+ SplitChin,
+ Chin,
+ BrowDroop,
+ MouthFrown,
+ CrowsFeet,
+ FoldsCrowsFrown,
+
+ Max = FoldsCrowsFrown,
+};
+
+enum class FacelineMake : u8 {
+ None, // Default
+ CheekPorcelain,
+ CheekNatural,
+ EyeShadowBlue,
+ CheekBlushPorcelain,
+ CheekBlushNatural,
+ CheekPorcelainEyeShadowBlue,
+ CheekPorcelainEyeShadowNatural,
+ CheekBlushPorcelainEyeShadowEspresso,
+ Freckles,
+ LionsManeBeard,
+ StubbleBeard,
+
+ Max = StubbleBeard,
+};
+
+enum class EyebrowType : u8 {
+ FlatAngledLarge, // Default
+ LowArchRoundedThin,
+ SoftAngledLarge,
+ MediumArchRoundedThin,
+ RoundedMedium,
+ LowArchMedium,
+ RoundedThin,
+ UpThin,
+ MediumArchRoundedMedium,
+ RoundedLarge,
+ UpLarge,
+ FlatAngledLargeInverted,
+ MediumArchFlat,
+ AngledThin,
+ HorizontalLarge,
+ HighArchFlat,
+ Flat,
+ MediumArchLarge,
+ LowArchThin,
+ RoundedThinInverted,
+ HighArchLarge,
+ Hairy,
+ Dotted,
None,
- Mustache1,
- Mustache2,
- Mustache3,
- Mustache4,
- Mustache5,
+
+ Max = None,
};
-enum class Race : u32 {
- Black,
- White,
- Asian,
- All,
+enum class NoseType : u8 {
+ Normal, // Default
+ Rounded,
+ Dot,
+ Arrow,
+ Roman,
+ Triangle,
+ Button,
+ RoundedInverted,
+ Potato,
+ Grecian,
+ Snub,
+ Aquiline,
+ ArrowLeft,
+ RoundedLarge,
+ Hooked,
+ Fat,
+ Droopy,
+ ArrowLarge,
+
+ Max = ArrowLarge,
};
+enum class BeardType : u8 {
+ None,
+ Goatee,
+ GoateeLong,
+ LionsManeLong,
+ LionsMane,
+ Full,
+
+ Min = Goatee,
+ Max = Full,
+};
+
+enum class MustacheType : u8 {
+ None,
+ Walrus,
+ Pencil,
+ Horseshoe,
+ Normal,
+ Toothbrush,
+
+ Min = Walrus,
+ Max = Toothbrush,
+};
+
+enum class GlassType : u8 {
+ None,
+ Oval,
+ Wayfarer,
+ Rectangle,
+ TopRimless,
+ Rounded,
+ Oversized,
+ CatEye,
+ Square,
+ BottomRimless,
+ SemiOpaqueRounded,
+ SemiOpaqueCatEye,
+ SemiOpaqueOval,
+ SemiOpaqueRectangle,
+ SemiOpaqueAviator,
+ OpaqueRounded,
+ OpaqueCatEye,
+ OpaqueOval,
+ OpaqueRectangle,
+ OpaqueAviator,
+
+ Max = OpaqueAviator,
+ Count = Max + 1,
+};
+
+enum class BeardAndMustacheFlag : u32 {
+ Beard = 1,
+ Mustache,
+ All = Beard | Mustache,
+};
+DECLARE_ENUM_FLAG_OPERATORS(BeardAndMustacheFlag);
+
enum class Source : u32 {
Database = 0,
Default = 1,
@@ -173,7 +634,7 @@ struct DefaultMii {
u32 face_makeup{};
u32 hair_type{};
u32 hair_color{};
- HairFlip hair_flip{};
+ u32 hair_flip{};
u32 eye_type{};
u32 eye_color{};
u32 eye_scale{};
@@ -196,8 +657,8 @@ struct DefaultMii {
u32 mouth_scale{};
u32 mouth_aspect{};
u32 mouth_y{};
- MustacheType mustache_type{};
- BeardType beard_type{};
+ u32 mustache_type{};
+ u32 beard_type{};
u32 beard_color{};
u32 mustache_scale{};
u32 mustache_y{};
@@ -211,10 +672,10 @@ struct DefaultMii {
u32 mole_y{};
u32 height{};
u32 weight{};
- Gender gender{};
+ u32 gender{};
u32 favorite_color{};
u32 region_move{};
- FontRegion font_region{};
+ u32 font_region{};
u32 type{};
Nickname nickname;
};
diff --git a/src/core/hle/service/mii/types/char_info.cpp b/src/core/hle/service/mii/types/char_info.cpp
index cd7154c91..bb948c628 100644
--- a/src/core/hle/service/mii/types/char_info.cpp
+++ b/src/core/hle/service/mii/types/char_info.cpp
@@ -10,7 +10,7 @@ void CharInfo::SetFromStoreData(const StoreData& store_data) {
name = store_data.GetNickname();
null_terminator = '\0';
create_id = store_data.GetCreateId();
- font_region = static_cast<u8>(store_data.GetFontRegion());
+ font_region = store_data.GetFontRegion();
favorite_color = store_data.GetFavoriteColor();
gender = store_data.GetGender();
height = store_data.GetHeight();
@@ -51,10 +51,10 @@ void CharInfo::SetFromStoreData(const StoreData& store_data) {
mustache_type = store_data.GetMustacheType();
mustache_scale = store_data.GetMustacheScale();
mustache_y = store_data.GetMustacheY();
- glasses_type = store_data.GetGlassType();
- glasses_color = store_data.GetGlassColor();
- glasses_scale = store_data.GetGlassScale();
- glasses_y = store_data.GetGlassY();
+ glass_type = store_data.GetGlassType();
+ glass_color = store_data.GetGlassColor();
+ glass_scale = store_data.GetGlassScale();
+ glass_y = store_data.GetGlassY();
mole_type = store_data.GetMoleType();
mole_scale = store_data.GetMoleScale();
mole_x = store_data.GetMoleX();
@@ -69,151 +69,151 @@ ValidationResult CharInfo::Verify() const {
if (!name.IsValid()) {
return ValidationResult::InvalidName;
}
- if (3 < font_region) {
+ if (font_region > FontRegion::Max) {
return ValidationResult::InvalidFont;
}
- if (0xb < favorite_color) {
+ if (favorite_color > FavoriteColor::Max) {
return ValidationResult::InvalidColor;
}
- if (1 < gender) {
+ if (gender > Gender::Max) {
return ValidationResult::InvalidGender;
}
- if (height > 0x7f) {
+ if (height > MaxHeight) {
return ValidationResult::InvalidHeight;
}
- if (build > 0x7f) {
+ if (build > MaxBuild) {
return ValidationResult::InvalidBuild;
}
- if (1 < type) {
+ if (type > MaxType) {
return ValidationResult::InvalidType;
}
- if (3 < region_move) {
+ if (region_move > MaxRegionMove) {
return ValidationResult::InvalidRegionMove;
}
- if (0xb < faceline_type) {
+ if (faceline_type > FacelineType::Max) {
return ValidationResult::InvalidFacelineType;
}
- if (9 < faceline_color) {
+ if (faceline_color > FacelineColor::Max) {
return ValidationResult::InvalidFacelineColor;
}
- if (0xb < faceline_wrinkle) {
+ if (faceline_wrinkle > FacelineWrinkle::Max) {
return ValidationResult::InvalidFacelineWrinkle;
}
- if (0xb < faceline_make) {
+ if (faceline_make > FacelineMake::Max) {
return ValidationResult::InvalidFacelineMake;
}
- if (0x83 < hair_type) {
+ if (hair_type > HairType::Max) {
return ValidationResult::InvalidHairType;
}
- if (99 < hair_color) {
+ if (hair_color > CommonColor::Max) {
return ValidationResult::InvalidHairColor;
}
- if (1 < hair_flip) {
+ if (hair_flip > HairFlip::Max) {
return ValidationResult::InvalidHairFlip;
}
- if (0x3b < eye_type) {
+ if (eye_type > EyeType::Max) {
return ValidationResult::InvalidEyeType;
}
- if (99 < eye_color) {
+ if (eye_color > CommonColor::Max) {
return ValidationResult::InvalidEyeColor;
}
- if (7 < eye_scale) {
+ if (eye_scale > MaxEyeScale) {
return ValidationResult::InvalidEyeScale;
}
- if (6 < eye_aspect) {
+ if (eye_aspect > MaxEyeAspect) {
return ValidationResult::InvalidEyeAspect;
}
- if (7 < eye_rotate) {
+ if (eye_rotate > MaxEyeX) {
return ValidationResult::InvalidEyeRotate;
}
- if (0xc < eye_x) {
+ if (eye_x > MaxEyeX) {
return ValidationResult::InvalidEyeX;
}
- if (0x12 < eye_y) {
+ if (eye_y > MaxEyeY) {
return ValidationResult::InvalidEyeY;
}
- if (0x17 < eyebrow_type) {
+ if (eyebrow_type > EyebrowType::Max) {
return ValidationResult::InvalidEyebrowType;
}
- if (99 < eyebrow_color) {
+ if (eyebrow_color > CommonColor::Max) {
return ValidationResult::InvalidEyebrowColor;
}
- if (8 < eyebrow_scale) {
+ if (eyebrow_scale > MaxEyebrowScale) {
return ValidationResult::InvalidEyebrowScale;
}
- if (6 < eyebrow_aspect) {
+ if (eyebrow_aspect > MaxEyebrowAspect) {
return ValidationResult::InvalidEyebrowAspect;
}
- if (0xb < eyebrow_rotate) {
+ if (eyebrow_rotate > MaxEyebrowRotate) {
return ValidationResult::InvalidEyebrowRotate;
}
- if (0xc < eyebrow_x) {
+ if (eyebrow_x > MaxEyebrowX) {
return ValidationResult::InvalidEyebrowX;
}
- if (0xf < eyebrow_y - 3) {
+ if (eyebrow_y > MaxEyebrowY) {
return ValidationResult::InvalidEyebrowY;
}
- if (0x11 < nose_type) {
+ if (nose_type > NoseType::Max) {
return ValidationResult::InvalidNoseType;
}
- if (nose_scale >= 9) {
+ if (nose_scale > MaxNoseScale) {
return ValidationResult::InvalidNoseScale;
}
- if (0x12 < nose_y) {
+ if (nose_y > MaxNoseY) {
return ValidationResult::InvalidNoseY;
}
- if (0x23 < mouth_type) {
+ if (mouth_type > MouthType::Max) {
return ValidationResult::InvalidMouthType;
}
- if (99 < mouth_color) {
+ if (mouth_color > CommonColor::Max) {
return ValidationResult::InvalidMouthColor;
}
- if (8 < mouth_scale) {
+ if (mouth_scale > MaxMouthScale) {
return ValidationResult::InvalidMouthScale;
}
- if (6 < mouth_aspect) {
+ if (mouth_aspect > MaxMoutAspect) {
return ValidationResult::InvalidMouthAspect;
}
- if (0x12 < mouth_y) {
+ if (mouth_y > MaxMouthY) {
return ValidationResult::InvalidMoleY;
}
- if (99 < beard_color) {
+ if (beard_color > CommonColor::Max) {
return ValidationResult::InvalidBeardColor;
}
- if (5 < beard_type) {
+ if (beard_type > BeardType::Max) {
return ValidationResult::InvalidBeardType;
}
- if (5 < mustache_type) {
+ if (mustache_type > MustacheType::Max) {
return ValidationResult::InvalidMustacheType;
}
- if (8 < mustache_scale) {
+ if (mustache_scale > MaxMustacheScale) {
return ValidationResult::InvalidMustacheScale;
}
- if (0x10 < mustache_y) {
+ if (mustache_y > MasMustacheY) {
return ValidationResult::InvalidMustacheY;
}
- if (0x13 < glasses_type) {
+ if (glass_type > GlassType::Max) {
return ValidationResult::InvalidGlassType;
}
- if (99 < glasses_color) {
+ if (glass_color > CommonColor::Max) {
return ValidationResult::InvalidGlassColor;
}
- if (7 < glasses_scale) {
+ if (glass_scale > MaxGlassScale) {
return ValidationResult::InvalidGlassScale;
}
- if (0x14 < glasses_y) {
+ if (glass_y > MaxGlassY) {
return ValidationResult::InvalidGlassY;
}
- if (mole_type >= 2) {
+ if (mole_type > MoleType::Max) {
return ValidationResult::InvalidMoleType;
}
- if (8 < mole_scale) {
+ if (mole_scale > MaxMoleScale) {
return ValidationResult::InvalidMoleScale;
}
- if (mole_x >= 0x11) {
+ if (mole_x > MaxMoleX) {
return ValidationResult::InvalidMoleX;
}
- if (0x1e < mole_y) {
+ if (mole_y > MaxMoleY) {
return ValidationResult::InvalidMoleY;
}
return ValidationResult::NoErrors;
@@ -227,15 +227,15 @@ Nickname CharInfo::GetNickname() const {
return name;
}
-u8 CharInfo::GetFontRegion() const {
+FontRegion CharInfo::GetFontRegion() const {
return font_region;
}
-u8 CharInfo::GetFavoriteColor() const {
+FavoriteColor CharInfo::GetFavoriteColor() const {
return favorite_color;
}
-u8 CharInfo::GetGender() const {
+Gender CharInfo::GetGender() const {
return gender;
}
@@ -255,39 +255,39 @@ u8 CharInfo::GetRegionMove() const {
return region_move;
}
-u8 CharInfo::GetFacelineType() const {
+FacelineType CharInfo::GetFacelineType() const {
return faceline_type;
}
-u8 CharInfo::GetFacelineColor() const {
+FacelineColor CharInfo::GetFacelineColor() const {
return faceline_color;
}
-u8 CharInfo::GetFacelineWrinkle() const {
+FacelineWrinkle CharInfo::GetFacelineWrinkle() const {
return faceline_wrinkle;
}
-u8 CharInfo::GetFacelineMake() const {
+FacelineMake CharInfo::GetFacelineMake() const {
return faceline_make;
}
-u8 CharInfo::GetHairType() const {
+HairType CharInfo::GetHairType() const {
return hair_type;
}
-u8 CharInfo::GetHairColor() const {
+CommonColor CharInfo::GetHairColor() const {
return hair_color;
}
-u8 CharInfo::GetHairFlip() const {
+HairFlip CharInfo::GetHairFlip() const {
return hair_flip;
}
-u8 CharInfo::GetEyeType() const {
+EyeType CharInfo::GetEyeType() const {
return eye_type;
}
-u8 CharInfo::GetEyeColor() const {
+CommonColor CharInfo::GetEyeColor() const {
return eye_color;
}
@@ -311,11 +311,11 @@ u8 CharInfo::GetEyeY() const {
return eye_y;
}
-u8 CharInfo::GetEyebrowType() const {
+EyebrowType CharInfo::GetEyebrowType() const {
return eyebrow_type;
}
-u8 CharInfo::GetEyebrowColor() const {
+CommonColor CharInfo::GetEyebrowColor() const {
return eyebrow_color;
}
@@ -339,7 +339,7 @@ u8 CharInfo::GetEyebrowY() const {
return eyebrow_y;
}
-u8 CharInfo::GetNoseType() const {
+NoseType CharInfo::GetNoseType() const {
return nose_type;
}
@@ -351,11 +351,11 @@ u8 CharInfo::GetNoseY() const {
return nose_y;
}
-u8 CharInfo::GetMouthType() const {
+MouthType CharInfo::GetMouthType() const {
return mouth_type;
}
-u8 CharInfo::GetMouthColor() const {
+CommonColor CharInfo::GetMouthColor() const {
return mouth_color;
}
@@ -371,15 +371,15 @@ u8 CharInfo::GetMouthY() const {
return mouth_y;
}
-u8 CharInfo::GetBeardColor() const {
+CommonColor CharInfo::GetBeardColor() const {
return beard_color;
}
-u8 CharInfo::GetBeardType() const {
+BeardType CharInfo::GetBeardType() const {
return beard_type;
}
-u8 CharInfo::GetMustacheType() const {
+MustacheType CharInfo::GetMustacheType() const {
return mustache_type;
}
@@ -391,23 +391,23 @@ u8 CharInfo::GetMustacheY() const {
return mustache_y;
}
-u8 CharInfo::GetGlassType() const {
- return glasses_type;
+GlassType CharInfo::GetGlassType() const {
+ return glass_type;
}
-u8 CharInfo::GetGlassColor() const {
- return glasses_color;
+CommonColor CharInfo::GetGlassColor() const {
+ return glass_color;
}
u8 CharInfo::GetGlassScale() const {
- return glasses_scale;
+ return glass_scale;
}
u8 CharInfo::GetGlassY() const {
- return glasses_y;
+ return glass_y;
}
-u8 CharInfo::GetMoleType() const {
+MoleType CharInfo::GetMoleType() const {
return mole_type;
}
@@ -468,10 +468,10 @@ bool CharInfo::operator==(const CharInfo& info) {
is_identical &= mustache_type == info.GetMustacheType();
is_identical &= mustache_scale == info.GetMustacheScale();
is_identical &= mustache_y == info.GetMustacheY();
- is_identical &= glasses_type == info.GetGlassType();
- is_identical &= glasses_color == info.GetGlassColor();
- is_identical &= glasses_scale == info.GetGlassScale();
- is_identical &= glasses_y == info.GetGlassY();
+ is_identical &= glass_type == info.GetGlassType();
+ is_identical &= glass_color == info.GetGlassColor();
+ is_identical &= glass_scale == info.GetGlassScale();
+ is_identical &= glass_y == info.GetGlassY();
is_identical &= mole_type == info.GetMoleType();
is_identical &= mole_scale == info.GetMoleScale();
is_identical &= mole_x == info.GetMoleX();
diff --git a/src/core/hle/service/mii/types/char_info.h b/src/core/hle/service/mii/types/char_info.h
index 65a7707d3..d069b221f 100644
--- a/src/core/hle/service/mii/types/char_info.h
+++ b/src/core/hle/service/mii/types/char_info.h
@@ -17,52 +17,52 @@ public:
Common::UUID GetCreateId() const;
Nickname GetNickname() const;
- u8 GetFontRegion() const;
- u8 GetFavoriteColor() const;
- u8 GetGender() const;
+ FontRegion GetFontRegion() const;
+ FavoriteColor GetFavoriteColor() const;
+ Gender GetGender() const;
u8 GetHeight() const;
u8 GetBuild() const;
u8 GetType() const;
u8 GetRegionMove() const;
- u8 GetFacelineType() const;
- u8 GetFacelineColor() const;
- u8 GetFacelineWrinkle() const;
- u8 GetFacelineMake() const;
- u8 GetHairType() const;
- u8 GetHairColor() const;
- u8 GetHairFlip() const;
- u8 GetEyeType() const;
- u8 GetEyeColor() const;
+ FacelineType GetFacelineType() const;
+ FacelineColor GetFacelineColor() const;
+ FacelineWrinkle GetFacelineWrinkle() const;
+ FacelineMake GetFacelineMake() const;
+ HairType GetHairType() const;
+ CommonColor GetHairColor() const;
+ HairFlip GetHairFlip() const;
+ EyeType GetEyeType() const;
+ CommonColor GetEyeColor() const;
u8 GetEyeScale() const;
u8 GetEyeAspect() const;
u8 GetEyeRotate() const;
u8 GetEyeX() const;
u8 GetEyeY() const;
- u8 GetEyebrowType() const;
- u8 GetEyebrowColor() const;
+ EyebrowType GetEyebrowType() const;
+ CommonColor GetEyebrowColor() const;
u8 GetEyebrowScale() const;
u8 GetEyebrowAspect() const;
u8 GetEyebrowRotate() const;
u8 GetEyebrowX() const;
u8 GetEyebrowY() const;
- u8 GetNoseType() const;
+ NoseType GetNoseType() const;
u8 GetNoseScale() const;
u8 GetNoseY() const;
- u8 GetMouthType() const;
- u8 GetMouthColor() const;
+ MouthType GetMouthType() const;
+ CommonColor GetMouthColor() const;
u8 GetMouthScale() const;
u8 GetMouthAspect() const;
u8 GetMouthY() const;
- u8 GetBeardColor() const;
- u8 GetBeardType() const;
- u8 GetMustacheType() const;
+ CommonColor GetBeardColor() const;
+ BeardType GetBeardType() const;
+ MustacheType GetMustacheType() const;
u8 GetMustacheScale() const;
u8 GetMustacheY() const;
- u8 GetGlassType() const;
- u8 GetGlassColor() const;
+ GlassType GetGlassType() const;
+ CommonColor GetGlassColor() const;
u8 GetGlassScale() const;
u8 GetGlassY() const;
- u8 GetMoleType() const;
+ MoleType GetMoleType() const;
u8 GetMoleScale() const;
u8 GetMoleX() const;
u8 GetMoleY() const;
@@ -73,52 +73,52 @@ private:
Common::UUID create_id;
Nickname name;
u16 null_terminator;
- u8 font_region;
- u8 favorite_color;
- u8 gender;
+ FontRegion font_region;
+ FavoriteColor favorite_color;
+ Gender gender;
u8 height;
u8 build;
u8 type;
u8 region_move;
- u8 faceline_type;
- u8 faceline_color;
- u8 faceline_wrinkle;
- u8 faceline_make;
- u8 hair_type;
- u8 hair_color;
- u8 hair_flip;
- u8 eye_type;
- u8 eye_color;
+ FacelineType faceline_type;
+ FacelineColor faceline_color;
+ FacelineWrinkle faceline_wrinkle;
+ FacelineMake faceline_make;
+ HairType hair_type;
+ CommonColor hair_color;
+ HairFlip hair_flip;
+ EyeType eye_type;
+ CommonColor eye_color;
u8 eye_scale;
u8 eye_aspect;
u8 eye_rotate;
u8 eye_x;
u8 eye_y;
- u8 eyebrow_type;
- u8 eyebrow_color;
+ EyebrowType eyebrow_type;
+ CommonColor eyebrow_color;
u8 eyebrow_scale;
u8 eyebrow_aspect;
u8 eyebrow_rotate;
u8 eyebrow_x;
u8 eyebrow_y;
- u8 nose_type;
+ NoseType nose_type;
u8 nose_scale;
u8 nose_y;
- u8 mouth_type;
- u8 mouth_color;
+ MouthType mouth_type;
+ CommonColor mouth_color;
u8 mouth_scale;
u8 mouth_aspect;
u8 mouth_y;
- u8 beard_color;
- u8 beard_type;
- u8 mustache_type;
+ CommonColor beard_color;
+ BeardType beard_type;
+ MustacheType mustache_type;
u8 mustache_scale;
u8 mustache_y;
- u8 glasses_type;
- u8 glasses_color;
- u8 glasses_scale;
- u8 glasses_y;
- u8 mole_type;
+ GlassType glass_type;
+ CommonColor glass_color;
+ u8 glass_scale;
+ u8 glass_y;
+ MoleType mole_type;
u8 mole_scale;
u8 mole_x;
u8 mole_y;
diff --git a/src/core/hle/service/mii/types/core_data.cpp b/src/core/hle/service/mii/types/core_data.cpp
index de82481b0..659288b51 100644
--- a/src/core/hle/service/mii/types/core_data.cpp
+++ b/src/core/hle/service/mii/types/core_data.cpp
@@ -1,6 +1,7 @@
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
+#include "common/assert.h"
#include "core/hle/service/mii/mii_util.h"
#include "core/hle/service/mii/types/core_data.h"
#include "core/hle/service/mii/types/raw_data.h"
@@ -14,17 +15,9 @@ void CoreData::SetDefault() {
void CoreData::BuildRandom(Age age, Gender gender, Race race) {
if (gender == Gender::All) {
- gender = MiiUtil::GetRandomValue<Gender>(Gender::Maximum);
+ gender = MiiUtil::GetRandomValue(Gender::Max);
}
- data.gender.Assign(gender);
- data.favorite_color.Assign(MiiUtil::GetRandomValue<u8>(11));
- data.region_move.Assign(0);
- data.font_region.Assign(FontRegion::Standard);
- data.type.Assign(0);
- data.height.Assign(64);
- data.build.Assign(64);
-
if (age == Age::All) {
const auto random{MiiUtil::GetRandomValue<int>(10)};
if (random >= 8) {
@@ -47,6 +40,14 @@ void CoreData::BuildRandom(Age age, Gender gender, Race race) {
}
}
+ SetGender(gender);
+ SetFavoriteColor(MiiUtil::GetRandomValue(FavoriteColor::Max));
+ SetRegionMove(0);
+ SetFontRegion(FontRegion::Standard);
+ SetType(0);
+ SetHeight(64);
+ SetBuild(64);
+
u32 axis_y{};
if (gender == Gender::Female && age == Age::Young) {
axis_y = MiiUtil::GetRandomValue<u32>(3);
@@ -85,10 +86,10 @@ void CoreData::BuildRandom(Age age, Gender gender, Race race) {
data.hair_type.Assign(
hair_type_info.values[MiiUtil::GetRandomValue<std::size_t>(hair_type_info.values_count)]);
- data.hair_color.Assign(RawData::GetHairColorFromVer3(
+ SetHairColor(RawData::GetHairColorFromVer3(
hair_color_info
.values[MiiUtil::GetRandomValue<std::size_t>(hair_color_info.values_count)]));
- data.hair_flip.Assign(MiiUtil::GetRandomValue<HairFlip>(HairFlip::Maximum));
+ SetHairFlip(MiiUtil::GetRandomValue(HairFlip::Max));
data.eye_type.Assign(
eye_type_info.values[MiiUtil::GetRandomValue<std::size_t>(eye_type_info.values_count)]);
@@ -98,13 +99,13 @@ void CoreData::BuildRandom(Age age, Gender gender, Race race) {
const auto eye_rotate_offset{32 - RawData::EyeRotateLookup[eye_rotate_1] + eye_rotate_2};
const auto eye_rotate{32 - RawData::EyeRotateLookup[data.eye_type]};
- data.eye_color.Assign(RawData::GetEyeColorFromVer3(
+ SetEyeColor(RawData::GetEyeColorFromVer3(
eye_color_info.values[MiiUtil::GetRandomValue<std::size_t>(eye_color_info.values_count)]));
- data.eye_scale.Assign(4);
- data.eye_aspect.Assign(3);
- data.eye_rotate.Assign(eye_rotate_offset - eye_rotate);
- data.eye_x.Assign(2);
- data.eye_y.Assign(axis_y + 12);
+ SetEyeScale(4);
+ SetEyeAspect(3);
+ SetEyeRotate(static_cast<u8>(eye_rotate_offset - eye_rotate));
+ SetEyeX(2);
+ SetEyeY(static_cast<u8>(axis_y + 12));
data.eyebrow_type.Assign(
eyebrow_type_info
@@ -116,57 +117,53 @@ void CoreData::BuildRandom(Age age, Gender gender, Race race) {
const auto eyebrow_rotate{
32 - RawData::EyebrowRotateLookup[static_cast<std::size_t>(data.eyebrow_type.Value())]};
- data.eyebrow_color.Assign(data.hair_color);
- data.eyebrow_scale.Assign(4);
- data.eyebrow_aspect.Assign(3);
- data.eyebrow_rotate.Assign(eyebrow_rotate_offset - eyebrow_rotate);
- data.eyebrow_x.Assign(2);
- data.eyebrow_y.Assign(axis_y + eyebrow_y);
-
- const auto nose_scale{gender == Gender::Female ? 3 : 4};
+ SetEyebrowColor(GetHairColor());
+ SetEyebrowScale(4);
+ SetEyebrowAspect(3);
+ SetEyebrowRotate(static_cast<u8>(eyebrow_rotate_offset - eyebrow_rotate));
+ SetEyebrowX(2);
+ SetEyebrowY(static_cast<u8>(axis_y + eyebrow_y));
data.nose_type.Assign(
nose_type_info.values[MiiUtil::GetRandomValue<std::size_t>(nose_type_info.values_count)]);
- data.nose_scale.Assign(nose_scale);
- data.nose_y.Assign(axis_y + 9);
+ SetNoseScale(gender == Gender::Female ? 3 : 4);
+ SetNoseY(static_cast<u8>(axis_y + 9));
const auto mouth_color{gender == Gender::Female ? MiiUtil::GetRandomValue<int>(4) : 0};
data.mouth_type.Assign(
mouth_type_info.values[MiiUtil::GetRandomValue<std::size_t>(mouth_type_info.values_count)]);
- data.mouth_color.Assign(RawData::GetMouthColorFromVer3(mouth_color));
- data.mouth_scale.Assign(4);
- data.mouth_aspect.Assign(3);
- data.mouth_y.Assign(axis_y + 13);
+ SetMouthColor(RawData::GetMouthColorFromVer3(mouth_color));
+ SetMouthScale(4);
+ SetMouthAspect(3);
+ SetMouthY(static_cast<u8>(axis_y + 13));
- data.beard_color.Assign(data.hair_color);
- data.mustache_scale.Assign(4);
+ SetBeardColor(GetHairColor());
+ SetMustacheScale(4);
if (gender == Gender::Male && age != Age::Young && MiiUtil::GetRandomValue<int>(10) < 2) {
- const auto mustache_and_beard_flag{
- MiiUtil::GetRandomValue<BeardAndMustacheFlag>(BeardAndMustacheFlag::All)};
+ const auto mustache_and_beard_flag{MiiUtil::GetRandomValue(BeardAndMustacheFlag::All)};
auto beard_type{BeardType::None};
auto mustache_type{MustacheType::None};
if ((mustache_and_beard_flag & BeardAndMustacheFlag::Beard) ==
BeardAndMustacheFlag::Beard) {
- beard_type = MiiUtil::GetRandomValue<BeardType>(BeardType::Beard1, BeardType::Beard5);
+ beard_type = MiiUtil::GetRandomValue(BeardType::Min, BeardType::Max);
}
if ((mustache_and_beard_flag & BeardAndMustacheFlag::Mustache) ==
BeardAndMustacheFlag::Mustache) {
- mustache_type = MiiUtil::GetRandomValue<MustacheType>(MustacheType::Mustache1,
- MustacheType::Mustache5);
+ mustache_type = MiiUtil::GetRandomValue(MustacheType::Min, MustacheType::Max);
}
- data.mustache_type.Assign(mustache_type);
- data.beard_type.Assign(beard_type);
- data.mustache_y.Assign(10);
+ SetMustacheType(mustache_type);
+ SetBeardType(beard_type);
+ SetMustacheY(10);
} else {
- data.mustache_type.Assign(MustacheType::None);
- data.beard_type.Assign(BeardType::None);
- data.mustache_y.Assign(axis_y + 10);
+ SetMustacheType(MustacheType::None);
+ SetBeardType(BeardType::None);
+ SetMustacheY(static_cast<u8>(axis_y + 10));
}
const auto glasses_type_start{MiiUtil::GetRandomValue<std::size_t>(100)};
@@ -178,15 +175,14 @@ void CoreData::BuildRandom(Age age, Gender gender, Race race) {
}
}
- data.glasses_type.Assign(glasses_type);
- data.glasses_color.Assign(RawData::GetGlassColorFromVer3(0));
- data.glasses_scale.Assign(4);
- data.glasses_y.Assign(axis_y + 10);
+ SetGlassType(static_cast<GlassType>(glasses_type));
+ SetGlassColor(RawData::GetGlassColorFromVer3(0));
+ SetGlassScale(4);
- data.mole_type.Assign(0);
- data.mole_scale.Assign(4);
- data.mole_x.Assign(2);
- data.mole_y.Assign(20);
+ SetMoleType(MoleType::None);
+ SetMoleScale(4);
+ SetMoleX(2);
+ SetMoleY(20);
}
u32 CoreData::IsValid() const {
@@ -195,15 +191,15 @@ u32 CoreData::IsValid() const {
}
void CoreData::SetFontRegion(FontRegion value) {
- data.font_region.Assign(value);
+ data.font_region.Assign(static_cast<u32>(value));
}
-void CoreData::SetFavoriteColor(u8 value) {
- data.favorite_color.Assign(value);
+void CoreData::SetFavoriteColor(FavoriteColor value) {
+ data.favorite_color.Assign(static_cast<u32>(value));
}
void CoreData::SetGender(Gender value) {
- data.gender.Assign(value);
+ data.gender.Assign(static_cast<u32>(value));
}
void CoreData::SetHeight(u8 value) {
@@ -222,40 +218,40 @@ void CoreData::SetRegionMove(u8 value) {
data.region_move.Assign(value);
}
-void CoreData::SetFacelineType(u8 value) {
- data.faceline_type.Assign(value);
+void CoreData::SetFacelineType(FacelineType value) {
+ data.faceline_type.Assign(static_cast<u32>(value));
}
-void CoreData::SetFacelineColor(u8 value) {
- data.faceline_color.Assign(value);
+void CoreData::SetFacelineColor(FacelineColor value) {
+ data.faceline_color.Assign(static_cast<u32>(value));
}
-void CoreData::SetFacelineWrinkle(u8 value) {
- data.faceline_wrinkle.Assign(value);
+void CoreData::SetFacelineWrinkle(FacelineWrinkle value) {
+ data.faceline_wrinkle.Assign(static_cast<u32>(value));
}
-void CoreData::SetFacelineMake(u8 value) {
- data.faceline_makeup.Assign(value);
+void CoreData::SetFacelineMake(FacelineMake value) {
+ data.faceline_makeup.Assign(static_cast<u32>(value));
}
-void CoreData::SetHairType(u8 value) {
- data.hair_type.Assign(value);
+void CoreData::SetHairType(HairType value) {
+ data.hair_type.Assign(static_cast<u32>(value));
}
-void CoreData::SetHairColor(u8 value) {
- data.hair_color.Assign(value);
+void CoreData::SetHairColor(CommonColor value) {
+ data.hair_color.Assign(static_cast<u32>(value));
}
void CoreData::SetHairFlip(HairFlip value) {
- data.hair_flip.Assign(value);
+ data.hair_flip.Assign(static_cast<u32>(value));
}
-void CoreData::SetEyeType(u8 value) {
- data.eye_type.Assign(value);
+void CoreData::SetEyeType(EyeType value) {
+ data.eye_type.Assign(static_cast<u32>(value));
}
-void CoreData::SetEyeColor(u8 value) {
- data.eye_color.Assign(value);
+void CoreData::SetEyeColor(CommonColor value) {
+ data.eye_color.Assign(static_cast<u32>(value));
}
void CoreData::SetEyeScale(u8 value) {
@@ -278,12 +274,12 @@ void CoreData::SetEyeY(u8 value) {
data.eye_y.Assign(value);
}
-void CoreData::SetEyebrowType(u8 value) {
- data.eyebrow_type.Assign(value);
+void CoreData::SetEyebrowType(EyebrowType value) {
+ data.eyebrow_type.Assign(static_cast<u32>(value));
}
-void CoreData::SetEyebrowColor(u8 value) {
- data.eyebrow_color.Assign(value);
+void CoreData::SetEyebrowColor(CommonColor value) {
+ data.eyebrow_color.Assign(static_cast<u32>(value));
}
void CoreData::SetEyebrowScale(u8 value) {
@@ -306,8 +302,8 @@ void CoreData::SetEyebrowY(u8 value) {
data.eyebrow_y.Assign(value);
}
-void CoreData::SetNoseType(u8 value) {
- data.nose_type.Assign(value);
+void CoreData::SetNoseType(NoseType value) {
+ data.nose_type.Assign(static_cast<u32>(value));
}
void CoreData::SetNoseScale(u8 value) {
@@ -322,8 +318,8 @@ void CoreData::SetMouthType(u8 value) {
data.mouth_type.Assign(value);
}
-void CoreData::SetMouthColor(u8 value) {
- data.mouth_color.Assign(value);
+void CoreData::SetMouthColor(CommonColor value) {
+ data.mouth_color.Assign(static_cast<u32>(value));
}
void CoreData::SetMouthScale(u8 value) {
@@ -338,16 +334,16 @@ void CoreData::SetMouthY(u8 value) {
data.mouth_y.Assign(value);
}
-void CoreData::SetBeardColor(u8 value) {
- data.beard_color.Assign(value);
+void CoreData::SetBeardColor(CommonColor value) {
+ data.beard_color.Assign(static_cast<u32>(value));
}
void CoreData::SetBeardType(BeardType value) {
- data.beard_type.Assign(value);
+ data.beard_type.Assign(static_cast<u32>(value));
}
void CoreData::SetMustacheType(MustacheType value) {
- data.mustache_type.Assign(value);
+ data.mustache_type.Assign(static_cast<u32>(value));
}
void CoreData::SetMustacheScale(u8 value) {
@@ -358,12 +354,12 @@ void CoreData::SetMustacheY(u8 value) {
data.mustache_y.Assign(value);
}
-void CoreData::SetGlassType(u8 value) {
- data.glasses_type.Assign(value);
+void CoreData::SetGlassType(GlassType value) {
+ data.glasses_type.Assign(static_cast<u32>(value));
}
-void CoreData::SetGlassColor(u8 value) {
- data.glasses_color.Assign(value);
+void CoreData::SetGlassColor(CommonColor value) {
+ data.glasses_color.Assign(static_cast<u32>(value));
}
void CoreData::SetGlassScale(u8 value) {
@@ -374,8 +370,8 @@ void CoreData::SetGlassY(u8 value) {
data.glasses_y.Assign(value);
}
-void CoreData::SetMoleType(u8 value) {
- data.mole_type.Assign(value);
+void CoreData::SetMoleType(MoleType value) {
+ data.mole_type.Assign(static_cast<u32>(value));
}
void CoreData::SetMoleScale(u8 value) {
@@ -394,16 +390,16 @@ void CoreData::SetNickname(Nickname nickname) {
name = nickname;
}
-u8 CoreData::GetFontRegion() const {
- return static_cast<u8>(data.font_region.Value());
+FontRegion CoreData::GetFontRegion() const {
+ return static_cast<FontRegion>(data.font_region.Value());
}
-u8 CoreData::GetFavoriteColor() const {
- return static_cast<u8>(data.favorite_color.Value());
+FavoriteColor CoreData::GetFavoriteColor() const {
+ return static_cast<FavoriteColor>(data.favorite_color.Value());
}
-u8 CoreData::GetGender() const {
- return static_cast<u8>(data.gender.Value());
+Gender CoreData::GetGender() const {
+ return static_cast<Gender>(data.gender.Value());
}
u8 CoreData::GetHeight() const {
@@ -422,40 +418,40 @@ u8 CoreData::GetRegionMove() const {
return static_cast<u8>(data.region_move.Value());
}
-u8 CoreData::GetFacelineType() const {
- return static_cast<u8>(data.faceline_type.Value());
+FacelineType CoreData::GetFacelineType() const {
+ return static_cast<FacelineType>(data.faceline_type.Value());
}
-u8 CoreData::GetFacelineColor() const {
- return static_cast<u8>(data.faceline_color.Value());
+FacelineColor CoreData::GetFacelineColor() const {
+ return static_cast<FacelineColor>(data.faceline_color.Value());
}
-u8 CoreData::GetFacelineWrinkle() const {
- return static_cast<u8>(data.faceline_wrinkle.Value());
+FacelineWrinkle CoreData::GetFacelineWrinkle() const {
+ return static_cast<FacelineWrinkle>(data.faceline_wrinkle.Value());
}
-u8 CoreData::GetFacelineMake() const {
- return static_cast<u8>(data.faceline_makeup.Value());
+FacelineMake CoreData::GetFacelineMake() const {
+ return static_cast<FacelineMake>(data.faceline_makeup.Value());
}
-u8 CoreData::GetHairType() const {
- return static_cast<u8>(data.hair_type.Value());
+HairType CoreData::GetHairType() const {
+ return static_cast<HairType>(data.hair_type.Value());
}
-u8 CoreData::GetHairColor() const {
- return static_cast<u8>(data.hair_color.Value());
+CommonColor CoreData::GetHairColor() const {
+ return static_cast<CommonColor>(data.hair_color.Value());
}
-u8 CoreData::GetHairFlip() const {
- return static_cast<u8>(data.hair_flip.Value());
+HairFlip CoreData::GetHairFlip() const {
+ return static_cast<HairFlip>(data.hair_flip.Value());
}
-u8 CoreData::GetEyeType() const {
- return static_cast<u8>(data.eye_type.Value());
+EyeType CoreData::GetEyeType() const {
+ return static_cast<EyeType>(data.eye_type.Value());
}
-u8 CoreData::GetEyeColor() const {
- return static_cast<u8>(data.eye_color.Value());
+CommonColor CoreData::GetEyeColor() const {
+ return static_cast<CommonColor>(data.eye_color.Value());
}
u8 CoreData::GetEyeScale() const {
@@ -478,12 +474,12 @@ u8 CoreData::GetEyeY() const {
return static_cast<u8>(data.eye_y.Value());
}
-u8 CoreData::GetEyebrowType() const {
- return static_cast<u8>(data.eyebrow_type.Value());
+EyebrowType CoreData::GetEyebrowType() const {
+ return static_cast<EyebrowType>(data.eyebrow_type.Value());
}
-u8 CoreData::GetEyebrowColor() const {
- return static_cast<u8>(data.eyebrow_color.Value());
+CommonColor CoreData::GetEyebrowColor() const {
+ return static_cast<CommonColor>(data.eyebrow_color.Value());
}
u8 CoreData::GetEyebrowScale() const {
@@ -506,8 +502,8 @@ u8 CoreData::GetEyebrowY() const {
return static_cast<u8>(data.eyebrow_y.Value());
}
-u8 CoreData::GetNoseType() const {
- return static_cast<u8>(data.nose_type.Value());
+NoseType CoreData::GetNoseType() const {
+ return static_cast<NoseType>(data.nose_type.Value());
}
u8 CoreData::GetNoseScale() const {
@@ -518,12 +514,12 @@ u8 CoreData::GetNoseY() const {
return static_cast<u8>(data.nose_y.Value());
}
-u8 CoreData::GetMouthType() const {
- return static_cast<u8>(data.mouth_type.Value());
+MouthType CoreData::GetMouthType() const {
+ return static_cast<MouthType>(data.mouth_type.Value());
}
-u8 CoreData::GetMouthColor() const {
- return static_cast<u8>(data.mouth_color.Value());
+CommonColor CoreData::GetMouthColor() const {
+ return static_cast<CommonColor>(data.mouth_color.Value());
}
u8 CoreData::GetMouthScale() const {
@@ -538,16 +534,16 @@ u8 CoreData::GetMouthY() const {
return static_cast<u8>(data.mouth_y.Value());
}
-u8 CoreData::GetBeardColor() const {
- return static_cast<u8>(data.beard_color.Value());
+CommonColor CoreData::GetBeardColor() const {
+ return static_cast<CommonColor>(data.beard_color.Value());
}
-u8 CoreData::GetBeardType() const {
- return static_cast<u8>(data.beard_type.Value());
+BeardType CoreData::GetBeardType() const {
+ return static_cast<BeardType>(data.beard_type.Value());
}
-u8 CoreData::GetMustacheType() const {
- return static_cast<u8>(data.mustache_type.Value());
+MustacheType CoreData::GetMustacheType() const {
+ return static_cast<MustacheType>(data.mustache_type.Value());
}
u8 CoreData::GetMustacheScale() const {
@@ -558,12 +554,12 @@ u8 CoreData::GetMustacheY() const {
return static_cast<u8>(data.mustache_y.Value());
}
-u8 CoreData::GetGlassType() const {
- return static_cast<u8>(data.glasses_type.Value());
+GlassType CoreData::GetGlassType() const {
+ return static_cast<GlassType>(data.glasses_type.Value());
}
-u8 CoreData::GetGlassColor() const {
- return static_cast<u8>(data.glasses_color.Value());
+CommonColor CoreData::GetGlassColor() const {
+ return static_cast<CommonColor>(data.glasses_color.Value());
}
u8 CoreData::GetGlassScale() const {
@@ -574,8 +570,8 @@ u8 CoreData::GetGlassY() const {
return static_cast<u8>(data.glasses_y.Value());
}
-u8 CoreData::GetMoleType() const {
- return static_cast<u8>(data.mole_type.Value());
+MoleType CoreData::GetMoleType() const {
+ return static_cast<MoleType>(data.mole_type.Value());
}
u8 CoreData::GetMoleScale() const {
@@ -599,7 +595,7 @@ Nickname CoreData::GetDefaultNickname() const {
}
Nickname CoreData::GetInvalidNickname() const {
- return {u'?', u'?', u' ', u'?'};
+ return {u'?', u'?', u'?'};
}
} // namespace Service::Mii
diff --git a/src/core/hle/service/mii/types/core_data.h b/src/core/hle/service/mii/types/core_data.h
index 411c123b3..cebcd2ee4 100644
--- a/src/core/hle/service/mii/types/core_data.h
+++ b/src/core/hle/service/mii/types/core_data.h
@@ -15,7 +15,7 @@ struct StoreDataBitFields {
BitField<8, 7, u32> height;
BitField<15, 1, u32> mole_type;
BitField<16, 7, u32> build;
- BitField<23, 1, HairFlip> hair_flip;
+ BitField<23, 1, u32> hair_flip;
BitField<24, 7, u32> hair_color;
BitField<31, 1, u32> type;
};
@@ -24,7 +24,7 @@ struct StoreDataBitFields {
u32 word_1{};
BitField<0, 7, u32> eye_color;
- BitField<7, 1, Gender> gender;
+ BitField<7, 1, u32> gender;
BitField<8, 7, u32> eyebrow_color;
BitField<16, 7, u32> mouth_color;
BitField<24, 7, u32> beard_color;
@@ -37,7 +37,7 @@ struct StoreDataBitFields {
BitField<8, 6, u32> eye_type;
BitField<14, 2, u32> region_move;
BitField<16, 6, u32> mouth_type;
- BitField<22, 2, FontRegion> font_region;
+ BitField<22, 2, u32> font_region;
BitField<24, 5, u32> eye_y;
BitField<29, 3, u32> glasses_scale;
};
@@ -46,9 +46,9 @@ struct StoreDataBitFields {
u32 word_3{};
BitField<0, 5, u32> eyebrow_type;
- BitField<5, 3, MustacheType> mustache_type;
+ BitField<5, 3, u32> mustache_type;
BitField<8, 5, u32> nose_type;
- BitField<13, 3, BeardType> beard_type;
+ BitField<13, 3, u32> beard_type;
BitField<16, 5, u32> nose_y;
BitField<21, 3, u32> mouth_aspect;
BitField<24, 5, u32> mouth_y;
@@ -104,102 +104,102 @@ public:
u32 IsValid() const;
void SetFontRegion(FontRegion value);
- void SetFavoriteColor(u8 value);
+ void SetFavoriteColor(FavoriteColor value);
void SetGender(Gender value);
void SetHeight(u8 value);
void SetBuild(u8 value);
void SetType(u8 value);
void SetRegionMove(u8 value);
- void SetFacelineType(u8 value);
- void SetFacelineColor(u8 value);
- void SetFacelineWrinkle(u8 value);
- void SetFacelineMake(u8 value);
- void SetHairType(u8 value);
- void SetHairColor(u8 value);
+ void SetFacelineType(FacelineType value);
+ void SetFacelineColor(FacelineColor value);
+ void SetFacelineWrinkle(FacelineWrinkle value);
+ void SetFacelineMake(FacelineMake value);
+ void SetHairType(HairType value);
+ void SetHairColor(CommonColor value);
void SetHairFlip(HairFlip value);
- void SetEyeType(u8 value);
- void SetEyeColor(u8 value);
+ void SetEyeType(EyeType value);
+ void SetEyeColor(CommonColor value);
void SetEyeScale(u8 value);
void SetEyeAspect(u8 value);
void SetEyeRotate(u8 value);
void SetEyeX(u8 value);
void SetEyeY(u8 value);
- void SetEyebrowType(u8 value);
- void SetEyebrowColor(u8 value);
+ void SetEyebrowType(EyebrowType value);
+ void SetEyebrowColor(CommonColor value);
void SetEyebrowScale(u8 value);
void SetEyebrowAspect(u8 value);
void SetEyebrowRotate(u8 value);
void SetEyebrowX(u8 value);
void SetEyebrowY(u8 value);
- void SetNoseType(u8 value);
+ void SetNoseType(NoseType value);
void SetNoseScale(u8 value);
void SetNoseY(u8 value);
void SetMouthType(u8 value);
- void SetMouthColor(u8 value);
+ void SetMouthColor(CommonColor value);
void SetMouthScale(u8 value);
void SetMouthAspect(u8 value);
void SetMouthY(u8 value);
- void SetBeardColor(u8 value);
+ void SetBeardColor(CommonColor value);
void SetBeardType(BeardType value);
void SetMustacheType(MustacheType value);
void SetMustacheScale(u8 value);
void SetMustacheY(u8 value);
- void SetGlassType(u8 value);
- void SetGlassColor(u8 value);
+ void SetGlassType(GlassType value);
+ void SetGlassColor(CommonColor value);
void SetGlassScale(u8 value);
void SetGlassY(u8 value);
- void SetMoleType(u8 value);
+ void SetMoleType(MoleType value);
void SetMoleScale(u8 value);
void SetMoleX(u8 value);
void SetMoleY(u8 value);
void SetNickname(Nickname nickname);
- u8 GetFontRegion() const;
- u8 GetFavoriteColor() const;
- u8 GetGender() const;
+ FontRegion GetFontRegion() const;
+ FavoriteColor GetFavoriteColor() const;
+ Gender GetGender() const;
u8 GetHeight() const;
u8 GetBuild() const;
u8 GetType() const;
u8 GetRegionMove() const;
- u8 GetFacelineType() const;
- u8 GetFacelineColor() const;
- u8 GetFacelineWrinkle() const;
- u8 GetFacelineMake() const;
- u8 GetHairType() const;
- u8 GetHairColor() const;
- u8 GetHairFlip() const;
- u8 GetEyeType() const;
- u8 GetEyeColor() const;
+ FacelineType GetFacelineType() const;
+ FacelineColor GetFacelineColor() const;
+ FacelineWrinkle GetFacelineWrinkle() const;
+ FacelineMake GetFacelineMake() const;
+ HairType GetHairType() const;
+ CommonColor GetHairColor() const;
+ HairFlip GetHairFlip() const;
+ EyeType GetEyeType() const;
+ CommonColor GetEyeColor() const;
u8 GetEyeScale() const;
u8 GetEyeAspect() const;
u8 GetEyeRotate() const;
u8 GetEyeX() const;
u8 GetEyeY() const;
- u8 GetEyebrowType() const;
- u8 GetEyebrowColor() const;
+ EyebrowType GetEyebrowType() const;
+ CommonColor GetEyebrowColor() const;
u8 GetEyebrowScale() const;
u8 GetEyebrowAspect() const;
u8 GetEyebrowRotate() const;
u8 GetEyebrowX() const;
u8 GetEyebrowY() const;
- u8 GetNoseType() const;
+ NoseType GetNoseType() const;
u8 GetNoseScale() const;
u8 GetNoseY() const;
- u8 GetMouthType() const;
- u8 GetMouthColor() const;
+ MouthType GetMouthType() const;
+ CommonColor GetMouthColor() const;
u8 GetMouthScale() const;
u8 GetMouthAspect() const;
u8 GetMouthY() const;
- u8 GetBeardColor() const;
- u8 GetBeardType() const;
- u8 GetMustacheType() const;
+ CommonColor GetBeardColor() const;
+ BeardType GetBeardType() const;
+ MustacheType GetMustacheType() const;
u8 GetMustacheScale() const;
u8 GetMustacheY() const;
- u8 GetGlassType() const;
- u8 GetGlassColor() const;
+ GlassType GetGlassType() const;
+ CommonColor GetGlassColor() const;
u8 GetGlassScale() const;
u8 GetGlassY() const;
- u8 GetMoleType() const;
+ MoleType GetMoleType() const;
u8 GetMoleScale() const;
u8 GetMoleX() const;
u8 GetMoleY() const;
@@ -207,6 +207,7 @@ public:
Nickname GetDefaultNickname() const;
Nickname GetInvalidNickname() const;
+private:
StoreDataBitFields data{};
Nickname name{};
};
diff --git a/src/core/hle/service/mii/types/raw_data.cpp b/src/core/hle/service/mii/types/raw_data.cpp
index ed299521f..5143abcc8 100644
--- a/src/core/hle/service/mii/types/raw_data.cpp
+++ b/src/core/hle/service/mii/types/raw_data.cpp
@@ -5,11 +5,11 @@
namespace Service::Mii::RawData {
-constexpr std::array<u8, 16> FromVer3FacelineColorTable{
+constexpr std::array<u8, static_cast<u8>(FacelineColor::Count)> FromVer3FacelineColorTable{
0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x0, 0x1, 0x5, 0x5,
};
-constexpr std::array<u8, 100> FromVer3HairColorTable{
+constexpr std::array<u8, static_cast<u8>(CommonColor::Count)> FromVer3HairColorTable{
0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x0, 0x4, 0x3, 0x5, 0x4, 0x4, 0x6, 0x2, 0x0,
0x6, 0x4, 0x3, 0x2, 0x2, 0x7, 0x3, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2,
0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x0, 0x0, 0x4,
@@ -18,7 +18,7 @@ constexpr std::array<u8, 100> FromVer3HairColorTable{
0x7, 0x7, 0x7, 0x7, 0x3, 0x7, 0x7, 0x7, 0x7, 0x7, 0x0, 0x4, 0x4, 0x4, 0x4,
};
-constexpr std::array<u8, 100> FromVer3EyeColorTable{
+constexpr std::array<u8, static_cast<u8>(CommonColor::Count)> FromVer3EyeColorTable{
0x0, 0x2, 0x2, 0x2, 0x1, 0x3, 0x2, 0x3, 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x2, 0x2, 0x4,
0x2, 0x1, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2,
0x2, 0x2, 0x2, 0x2, 0x0, 0x0, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x1, 0x0, 0x4, 0x4,
@@ -27,7 +27,7 @@ constexpr std::array<u8, 100> FromVer3EyeColorTable{
0x3, 0x3, 0x3, 0x3, 0x2, 0x2, 0x2, 0x2, 0x2, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
};
-constexpr std::array<u8, 100> FromVer3MouthlineColorTable{
+constexpr std::array<u8, static_cast<u8>(CommonColor::Count)> FromVer3MouthlineColorTable{
0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x3, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x1, 0x4,
0x4, 0x4, 0x0, 0x1, 0x2, 0x3, 0x4, 0x4, 0x2, 0x3, 0x3, 0x4, 0x4, 0x4, 0x4, 0x1, 0x4,
0x4, 0x2, 0x3, 0x3, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x3, 0x3, 0x3, 0x4, 0x4, 0x4,
@@ -36,7 +36,7 @@ constexpr std::array<u8, 100> FromVer3MouthlineColorTable{
0x3, 0x3, 0x3, 0x3, 0x4, 0x0, 0x3, 0x3, 0x3, 0x3, 0x4, 0x3, 0x3, 0x3, 0x3,
};
-constexpr std::array<u8, 100> FromVer3GlassColorTable{
+constexpr std::array<u8, static_cast<u8>(CommonColor::Count)> FromVer3GlassColorTable{
0x0, 0x1, 0x1, 0x1, 0x5, 0x1, 0x1, 0x4, 0x0, 0x5, 0x1, 0x1, 0x3, 0x5, 0x1, 0x2, 0x3,
0x4, 0x5, 0x4, 0x2, 0x2, 0x4, 0x4, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2,
0x2, 0x2, 0x2, 0x2, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3,
@@ -45,7 +45,7 @@ constexpr std::array<u8, 100> FromVer3GlassColorTable{
0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5,
};
-constexpr std::array<u8, 20> FromVer3GlassTypeTable{
+constexpr std::array<u8, static_cast<u8>(GlassType::Count)> FromVer3GlassTypeTable{
0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x1,
0x2, 0x1, 0x3, 0x7, 0x7, 0x6, 0x7, 0x8, 0x7, 0x7,
};
@@ -90,7 +90,7 @@ const std::array<Service::Mii::DefaultMii, 2> BaseMii{
.face_makeup = 0,
.hair_type = 33,
.hair_color = 1,
- .hair_flip = HairFlip::Left,
+ .hair_flip = 0,
.eye_type = 2,
.eye_color = 0,
.eye_scale = 4,
@@ -113,8 +113,8 @@ const std::array<Service::Mii::DefaultMii, 2> BaseMii{
.mouth_scale = 4,
.mouth_aspect = 3,
.mouth_y = 13,
- .mustache_type = MustacheType::None,
- .beard_type = BeardType::None,
+ .mustache_type = 0,
+ .beard_type = 0,
.beard_color = 0,
.mustache_scale = 4,
.mustache_y = 10,
@@ -128,10 +128,10 @@ const std::array<Service::Mii::DefaultMii, 2> BaseMii{
.mole_y = 20,
.height = 64,
.weight = 64,
- .gender = Gender::Male,
+ .gender = 0,
.favorite_color = 0,
.region_move = 0,
- .font_region = FontRegion::Standard,
+ .font_region = 0,
.type = 0,
.nickname = {u'n', u'o', u' ', u'n', u'a', u'm', u'e'},
},
@@ -142,7 +142,7 @@ const std::array<Service::Mii::DefaultMii, 2> BaseMii{
.face_makeup = 0,
.hair_type = 12,
.hair_color = 1,
- .hair_flip = HairFlip::Left,
+ .hair_flip = 0,
.eye_type = 4,
.eye_color = 0,
.eye_scale = 4,
@@ -165,8 +165,8 @@ const std::array<Service::Mii::DefaultMii, 2> BaseMii{
.mouth_scale = 4,
.mouth_aspect = 3,
.mouth_y = 13,
- .mustache_type = MustacheType::None,
- .beard_type = BeardType::None,
+ .mustache_type = 0,
+ .beard_type = 0,
.beard_color = 0,
.mustache_scale = 4,
.mustache_y = 10,
@@ -180,10 +180,10 @@ const std::array<Service::Mii::DefaultMii, 2> BaseMii{
.mole_y = 20,
.height = 64,
.weight = 64,
- .gender = Gender::Female,
+ .gender = 1,
.favorite_color = 0,
.region_move = 0,
- .font_region = FontRegion::Standard,
+ .font_region = 0,
.type = 0,
.nickname = {u'n', u'o', u' ', u'n', u'a', u'm', u'e'},
},
@@ -197,7 +197,7 @@ const std::array<Service::Mii::DefaultMii, 6> DefaultMii{
.face_makeup = 0,
.hair_type = 68,
.hair_color = 0,
- .hair_flip = HairFlip::Left,
+ .hair_flip = 0,
.eye_type = 2,
.eye_color = 0,
.eye_scale = 4,
@@ -220,8 +220,8 @@ const std::array<Service::Mii::DefaultMii, 6> DefaultMii{
.mouth_scale = 4,
.mouth_aspect = 3,
.mouth_y = 13,
- .mustache_type = MustacheType::None,
- .beard_type = BeardType::None,
+ .mustache_type = 0,
+ .beard_type = 0,
.beard_color = 0,
.mustache_scale = 4,
.mustache_y = 10,
@@ -235,10 +235,10 @@ const std::array<Service::Mii::DefaultMii, 6> DefaultMii{
.mole_y = 20,
.height = 64,
.weight = 64,
- .gender = Gender::Male,
+ .gender = 0,
.favorite_color = 4,
.region_move = 0,
- .font_region = FontRegion::Standard,
+ .font_region = 0,
.type = 0,
.nickname = {u'n', u'o', u' ', u'n', u'a', u'm', u'e'},
},
@@ -249,7 +249,7 @@ const std::array<Service::Mii::DefaultMii, 6> DefaultMii{
.face_makeup = 0,
.hair_type = 55,
.hair_color = 6,
- .hair_flip = HairFlip::Left,
+ .hair_flip = 0,
.eye_type = 2,
.eye_color = 4,
.eye_scale = 4,
@@ -272,8 +272,8 @@ const std::array<Service::Mii::DefaultMii, 6> DefaultMii{
.mouth_scale = 4,
.mouth_aspect = 3,
.mouth_y = 13,
- .mustache_type = MustacheType::None,
- .beard_type = BeardType::None,
+ .mustache_type = 0,
+ .beard_type = 0,
.beard_color = 0,
.mustache_scale = 4,
.mustache_y = 10,
@@ -287,10 +287,10 @@ const std::array<Service::Mii::DefaultMii, 6> DefaultMii{
.mole_y = 20,
.height = 64,
.weight = 64,
- .gender = Gender::Male,
+ .gender = 0,
.favorite_color = 5,
.region_move = 0,
- .font_region = FontRegion::Standard,
+ .font_region = 0,
.type = 0,
.nickname = {u'n', u'o', u' ', u'n', u'a', u'm', u'e'},
},
@@ -301,7 +301,7 @@ const std::array<Service::Mii::DefaultMii, 6> DefaultMii{
.face_makeup = 0,
.hair_type = 33,
.hair_color = 1,
- .hair_flip = HairFlip::Left,
+ .hair_flip = 0,
.eye_type = 2,
.eye_color = 0,
.eye_scale = 4,
@@ -324,8 +324,8 @@ const std::array<Service::Mii::DefaultMii, 6> DefaultMii{
.mouth_scale = 4,
.mouth_aspect = 3,
.mouth_y = 13,
- .mustache_type = MustacheType::None,
- .beard_type = BeardType::None,
+ .mustache_type = 0,
+ .beard_type = 0,
.beard_color = 0,
.mustache_scale = 4,
.mustache_y = 10,
@@ -339,10 +339,10 @@ const std::array<Service::Mii::DefaultMii, 6> DefaultMii{
.mole_y = 20,
.height = 64,
.weight = 64,
- .gender = Gender::Male,
+ .gender = 0,
.favorite_color = 0,
.region_move = 0,
- .font_region = FontRegion::Standard,
+ .font_region = 0,
.type = 0,
.nickname = {u'n', u'o', u' ', u'n', u'a', u'm', u'e'},
},
@@ -353,7 +353,7 @@ const std::array<Service::Mii::DefaultMii, 6> DefaultMii{
.face_makeup = 0,
.hair_type = 24,
.hair_color = 0,
- .hair_flip = HairFlip::Left,
+ .hair_flip = 0,
.eye_type = 4,
.eye_color = 0,
.eye_scale = 4,
@@ -376,8 +376,8 @@ const std::array<Service::Mii::DefaultMii, 6> DefaultMii{
.mouth_scale = 4,
.mouth_aspect = 3,
.mouth_y = 13,
- .mustache_type = MustacheType::None,
- .beard_type = BeardType::None,
+ .mustache_type = 0,
+ .beard_type = 0,
.beard_color = 0,
.mustache_scale = 4,
.mustache_y = 10,
@@ -391,10 +391,10 @@ const std::array<Service::Mii::DefaultMii, 6> DefaultMii{
.mole_y = 20,
.height = 64,
.weight = 64,
- .gender = Gender::Female,
+ .gender = 1,
.favorite_color = 2,
.region_move = 0,
- .font_region = FontRegion::Standard,
+ .font_region = 0,
.type = 0,
.nickname = {u'n', u'o', u' ', u'n', u'a', u'm', u'e'},
},
@@ -405,7 +405,7 @@ const std::array<Service::Mii::DefaultMii, 6> DefaultMii{
.face_makeup = 0,
.hair_type = 14,
.hair_color = 7,
- .hair_flip = HairFlip::Left,
+ .hair_flip = 0,
.eye_type = 4,
.eye_color = 5,
.eye_scale = 4,
@@ -428,8 +428,8 @@ const std::array<Service::Mii::DefaultMii, 6> DefaultMii{
.mouth_scale = 4,
.mouth_aspect = 3,
.mouth_y = 13,
- .mustache_type = MustacheType::None,
- .beard_type = BeardType::None,
+ .mustache_type = 0,
+ .beard_type = 0,
.beard_color = 0,
.mustache_scale = 4,
.mustache_y = 10,
@@ -443,10 +443,10 @@ const std::array<Service::Mii::DefaultMii, 6> DefaultMii{
.mole_y = 20,
.height = 64,
.weight = 64,
- .gender = Gender::Female,
+ .gender = 1,
.favorite_color = 6,
.region_move = 0,
- .font_region = FontRegion::Standard,
+ .font_region = 0,
.type = 0,
.nickname = {u'n', u'o', u' ', u'n', u'a', u'm', u'e'},
},
@@ -457,7 +457,7 @@ const std::array<Service::Mii::DefaultMii, 6> DefaultMii{
.face_makeup = 0,
.hair_type = 12,
.hair_color = 1,
- .hair_flip = HairFlip::Left,
+ .hair_flip = 0,
.eye_type = 4,
.eye_color = 0,
.eye_scale = 4,
@@ -480,8 +480,8 @@ const std::array<Service::Mii::DefaultMii, 6> DefaultMii{
.mouth_scale = 4,
.mouth_aspect = 3,
.mouth_y = 13,
- .mustache_type = MustacheType::None,
- .beard_type = BeardType::None,
+ .mustache_type = 0,
+ .beard_type = 0,
.beard_color = 0,
.mustache_scale = 4,
.mustache_y = 10,
@@ -495,10 +495,10 @@ const std::array<Service::Mii::DefaultMii, 6> DefaultMii{
.mole_y = 20,
.height = 64,
.weight = 64,
- .gender = Gender::Female,
+ .gender = 1,
.favorite_color = 7,
.region_move = 0,
- .font_region = FontRegion::Standard,
+ .font_region = 0,
.type = 0,
.nickname = {u'n', u'o', u' ', u'n', u'a', u'm', u'e'},
},
@@ -507,128 +507,128 @@ const std::array<Service::Mii::DefaultMii, 6> DefaultMii{
const std::array<RandomMiiData4, 18> RandomMiiFaceline{
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Young,
- .race = Race::Black,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Young),
+ .race = static_cast<u32>(Race::Black),
.values_count = 10,
.values = {0, 0, 1, 1, 2, 3, 4, 5, 9, 9},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Normal,
- .race = Race::Black,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Normal),
+ .race = static_cast<u32>(Race::Black),
.values_count = 10,
.values = {0, 0, 1, 1, 2, 3, 4, 5, 9, 9},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Old,
- .race = Race::Black,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Old),
+ .race = static_cast<u32>(Race::Black),
.values_count = 10,
.values = {0, 0, 1, 1, 2, 3, 4, 5, 9, 9},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Young,
- .race = Race::White,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Young),
+ .race = static_cast<u32>(Race::White),
.values_count = 12,
.values = {0, 0, 1, 2, 2, 3, 4, 5, 6, 7, 10, 11},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Normal,
- .race = Race::White,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Normal),
+ .race = static_cast<u32>(Race::White),
.values_count = 13,
.values = {0, 1, 2, 2, 3, 4, 5, 6, 6, 7, 7, 10, 11},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Old,
- .race = Race::White,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Old),
+ .race = static_cast<u32>(Race::White),
.values_count = 12,
.values = {0, 0, 1, 2, 2, 3, 4, 5, 6, 7, 10, 11},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Young,
- .race = Race::Asian,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Young),
+ .race = static_cast<u32>(Race::Asian),
.values_count = 12,
.values = {0, 0, 1, 2, 2, 3, 4, 5, 6, 7, 10, 11},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Normal,
- .race = Race::Asian,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Normal),
+ .race = static_cast<u32>(Race::Asian),
.values_count = 13,
.values = {0, 1, 2, 2, 3, 4, 5, 6, 6, 7, 7, 10, 11},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Old,
- .race = Race::Asian,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Old),
+ .race = static_cast<u32>(Race::Asian),
.values_count = 12,
.values = {0, 0, 1, 2, 2, 3, 4, 5, 6, 7, 10, 11},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Young,
- .race = Race::Black,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Young),
+ .race = static_cast<u32>(Race::Black),
.values_count = 10,
.values = {0, 0, 1, 1, 2, 3, 4, 5, 9, 9},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Normal,
- .race = Race::Black,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Normal),
+ .race = static_cast<u32>(Race::Black),
.values_count = 10,
.values = {0, 0, 1, 1, 2, 3, 4, 5, 9, 9},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Old,
- .race = Race::Black,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Old),
+ .race = static_cast<u32>(Race::Black),
.values_count = 10,
.values = {0, 0, 1, 1, 2, 3, 4, 5, 9, 9},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Young,
- .race = Race::White,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Young),
+ .race = static_cast<u32>(Race::White),
.values_count = 12,
.values = {0, 0, 0, 1, 1, 1, 2, 3, 4, 5, 8, 10},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Normal,
- .race = Race::White,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Normal),
+ .race = static_cast<u32>(Race::White),
.values_count = 12,
.values = {0, 0, 0, 1, 1, 1, 2, 3, 4, 5, 8, 10},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Old,
- .race = Race::White,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Old),
+ .race = static_cast<u32>(Race::White),
.values_count = 12,
.values = {0, 0, 0, 1, 1, 1, 2, 3, 4, 5, 8, 10},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Young,
- .race = Race::Asian,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Young),
+ .race = static_cast<u32>(Race::Asian),
.values_count = 12,
.values = {0, 0, 0, 1, 1, 1, 2, 3, 4, 5, 8, 10},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Normal,
- .race = Race::Asian,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Normal),
+ .race = static_cast<u32>(Race::Asian),
.values_count = 12,
.values = {0, 0, 0, 1, 1, 1, 2, 3, 4, 5, 8, 10},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Old,
- .race = Race::Asian,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Old),
+ .race = static_cast<u32>(Race::Asian),
.values_count = 12,
.values = {0, 0, 0, 1, 1, 1, 2, 3, 4, 5, 8, 10},
},
@@ -675,128 +675,128 @@ const std::array<RandomMiiData3, 6> RandomMiiFacelineColor{
const std::array<RandomMiiData4, 18> RandomMiiFacelineWrinkle{
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Young,
- .race = Race::Black,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Young),
+ .race = static_cast<u32>(Race::Black),
.values_count = 20,
.values = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Normal,
- .race = Race::Black,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Normal),
+ .race = static_cast<u32>(Race::Black),
.values_count = 20,
.values = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Old,
- .race = Race::Black,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Old),
+ .race = static_cast<u32>(Race::Black),
.values_count = 20,
.values = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Young,
- .race = Race::White,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Young),
+ .race = static_cast<u32>(Race::White),
.values_count = 20,
.values = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 4, 5, 6, 7, 8, 8, 9},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Normal,
- .race = Race::White,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Normal),
+ .race = static_cast<u32>(Race::White),
.values_count = 20,
.values = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 4, 5, 6, 7, 8, 8, 9},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Old,
- .race = Race::White,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Old),
+ .race = static_cast<u32>(Race::White),
.values_count = 20,
.values = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Young,
- .race = Race::Asian,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Young),
+ .race = static_cast<u32>(Race::Asian),
.values_count = 20,
.values = {9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Normal,
- .race = Race::Asian,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Normal),
+ .race = static_cast<u32>(Race::Asian),
.values_count = 20,
.values = {9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Old,
- .race = Race::Asian,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Old),
+ .race = static_cast<u32>(Race::Asian),
.values_count = 20,
.values = {9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Young,
- .race = Race::Black,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Young),
+ .race = static_cast<u32>(Race::Black),
.values_count = 20,
.values = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Normal,
- .race = Race::Black,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Normal),
+ .race = static_cast<u32>(Race::Black),
.values_count = 20,
.values = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Old,
- .race = Race::Black,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Old),
+ .race = static_cast<u32>(Race::Black),
.values_count = 20,
.values = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Young,
- .race = Race::White,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Young),
+ .race = static_cast<u32>(Race::White),
.values_count = 20,
.values = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 4, 4, 8, 8},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Normal,
- .race = Race::White,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Normal),
+ .race = static_cast<u32>(Race::White),
.values_count = 20,
.values = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 4, 4, 8, 8},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Old,
- .race = Race::White,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Old),
+ .race = static_cast<u32>(Race::White),
.values_count = 20,
.values = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 4, 4},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Young,
- .race = Race::Asian,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Young),
+ .race = static_cast<u32>(Race::Asian),
.values_count = 20,
.values = {9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Normal,
- .race = Race::Asian,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Normal),
+ .race = static_cast<u32>(Race::Asian),
.values_count = 20,
.values = {9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Old,
- .race = Race::Asian,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Old),
+ .race = static_cast<u32>(Race::Asian),
.values_count = 20,
.values = {9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11},
},
@@ -804,128 +804,128 @@ const std::array<RandomMiiData4, 18> RandomMiiFacelineWrinkle{
const std::array<RandomMiiData4, 18> RandomMiiFacelineMakeup{
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Young,
- .race = Race::Black,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Young),
+ .race = static_cast<u32>(Race::Black),
.values_count = 20,
.values = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Normal,
- .race = Race::Black,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Normal),
+ .race = static_cast<u32>(Race::Black),
.values_count = 20,
.values = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Old,
- .race = Race::Black,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Old),
+ .race = static_cast<u32>(Race::Black),
.values_count = 20,
.values = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Young,
- .race = Race::White,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Young),
+ .race = static_cast<u32>(Race::White),
.values_count = 20,
.values = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Normal,
- .race = Race::White,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Normal),
+ .race = static_cast<u32>(Race::White),
.values_count = 20,
.values = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Old,
- .race = Race::White,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Old),
+ .race = static_cast<u32>(Race::White),
.values_count = 20,
.values = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Young,
- .race = Race::Asian,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Young),
+ .race = static_cast<u32>(Race::Asian),
.values_count = 20,
.values = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Normal,
- .race = Race::Asian,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Normal),
+ .race = static_cast<u32>(Race::Asian),
.values_count = 20,
.values = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Old,
- .race = Race::Asian,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Old),
+ .race = static_cast<u32>(Race::Asian),
.values_count = 20,
.values = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Young,
- .race = Race::Black,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Young),
+ .race = static_cast<u32>(Race::Black),
.values_count = 20,
.values = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 2},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Normal,
- .race = Race::Black,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Normal),
+ .race = static_cast<u32>(Race::Black),
.values_count = 20,
.values = {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 9, 9},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Old,
- .race = Race::Black,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Old),
+ .race = static_cast<u32>(Race::Black),
.values_count = 20,
.values = {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 9, 9},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Young,
- .race = Race::White,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Young),
+ .race = static_cast<u32>(Race::White),
.values_count = 20,
.values = {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 3, 4, 5, 5, 6, 7, 8, 9},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Normal,
- .race = Race::White,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Normal),
+ .race = static_cast<u32>(Race::White),
.values_count = 20,
.values = {0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Old,
- .race = Race::White,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Old),
+ .race = static_cast<u32>(Race::White),
.values_count = 20,
.values = {0, 0, 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 6, 7, 8, 9, 9},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Young,
- .race = Race::Asian,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Young),
+ .race = static_cast<u32>(Race::Asian),
.values_count = 20,
.values = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Normal,
- .race = Race::Asian,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Normal),
+ .race = static_cast<u32>(Race::Asian),
.values_count = 20,
.values = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Old,
- .race = Race::Asian,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Old),
+ .race = static_cast<u32>(Race::Asian),
.values_count = 20,
.values = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9},
},
@@ -933,147 +933,147 @@ const std::array<RandomMiiData4, 18> RandomMiiFacelineMakeup{
const std::array<RandomMiiData4, 18> RandomMiiHairType{
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Young,
- .race = Race::Black,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Young),
+ .race = static_cast<u32>(Race::Black),
.values_count = 30,
.values = {13, 23, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 43, 44, 45,
47, 48, 49, 50, 51, 52, 54, 56, 57, 64, 66, 75, 76, 86, 89},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Normal,
- .race = Race::Black,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Normal),
+ .race = static_cast<u32>(Race::Black),
.values_count = 31,
.values = {13, 23, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 43, 44, 45, 47,
48, 49, 50, 51, 52, 54, 56, 57, 64, 66, 73, 75, 81, 86, 87},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Old,
- .race = Race::Black,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Old),
+ .race = static_cast<u32>(Race::Black),
.values_count = 31,
.values = {13, 23, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 43, 44, 45, 47,
48, 49, 50, 51, 52, 54, 56, 57, 64, 66, 73, 75, 81, 86, 87},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Young,
- .race = Race::White,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Young),
+ .race = static_cast<u32>(Race::White),
.values_count = 38,
.values = {13, 23, 30, 31, 32, 33, 34, 36, 37, 38, 40, 42, 43, 44, 45, 47, 48, 49, 50,
51, 52, 53, 54, 55, 56, 58, 59, 60, 64, 65, 66, 67, 68, 70, 75, 76, 86, 89},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Normal,
- .race = Race::White,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Normal),
+ .race = static_cast<u32>(Race::White),
.values_count = 39,
.values = {13, 23, 30, 31, 32, 33, 34, 36, 37, 38, 39, 40, 43, 44, 45, 47, 48, 49, 50, 51,
52, 53, 54, 55, 56, 58, 59, 60, 64, 65, 66, 67, 68, 70, 73, 75, 81, 86, 87},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Old,
- .race = Race::White,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Old),
+ .race = static_cast<u32>(Race::White),
.values_count = 39,
.values = {13, 23, 30, 31, 32, 33, 34, 36, 37, 38, 39, 40, 43, 44, 45, 47, 48, 49, 50, 51,
52, 53, 54, 55, 56, 58, 59, 60, 64, 65, 66, 67, 68, 70, 73, 75, 81, 86, 87},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Young,
- .race = Race::Asian,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Young),
+ .race = static_cast<u32>(Race::Asian),
.values_count = 18,
.values = {13, 23, 30, 36, 37, 41, 45, 47, 51, 53, 54, 55, 58, 59, 65, 67, 86, 88},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Normal,
- .race = Race::Asian,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Normal),
+ .race = static_cast<u32>(Race::Asian),
.values_count = 19,
.values = {13, 23, 30, 36, 37, 39, 41, 45, 47, 51, 53, 54, 55, 58, 59, 65, 67, 86, 88},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Old,
- .race = Race::Asian,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Old),
+ .race = static_cast<u32>(Race::Asian),
.values_count = 19,
.values = {13, 23, 30, 36, 37, 39, 41, 45, 47, 51, 53, 54, 55, 58, 59, 65, 67, 86, 88},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Young,
- .race = Race::Black,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Young),
+ .race = static_cast<u32>(Race::Black),
.values_count = 39,
.values = {0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
21, 22, 24, 25, 26, 28, 46, 50, 61, 62, 63, 64, 69, 76, 77, 79, 80, 83, 85},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Normal,
- .race = Race::Black,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Normal),
+ .race = static_cast<u32>(Race::Black),
.values_count = 42,
.values = {0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 26, 28, 46, 50,
61, 62, 63, 64, 69, 72, 74, 77, 78, 82, 83, 84, 85, 87},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Old,
- .race = Race::Black,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Old),
+ .race = static_cast<u32>(Race::Black),
.values_count = 42,
.values = {0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 26, 28, 46, 50,
61, 62, 63, 64, 69, 72, 74, 77, 78, 82, 83, 84, 85, 87},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Young,
- .race = Race::White,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Young),
+ .race = static_cast<u32>(Race::White),
.values_count = 44,
.values = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 26, 27, 29, 42, 50,
58, 60, 62, 63, 64, 69, 71, 76, 79, 80, 81, 82, 83, 86},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Normal,
- .race = Race::White,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Normal),
+ .race = static_cast<u32>(Race::White),
.values_count = 44,
.values = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 26, 27, 29, 50, 58,
60, 62, 63, 64, 69, 71, 72, 74, 79, 81, 82, 83, 84, 85},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Old,
- .race = Race::White,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Old),
+ .race = static_cast<u32>(Race::White),
.values_count = 44,
.values = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 26, 27, 29, 50, 58,
60, 62, 63, 64, 69, 71, 72, 74, 79, 81, 82, 83, 84, 85},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Young,
- .race = Race::Asian,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Young),
+ .race = static_cast<u32>(Race::Asian),
.values_count = 24,
.values = {0, 1, 2, 3, 4, 5, 6, 10, 11, 12, 13, 14,
16, 17, 18, 20, 21, 24, 25, 58, 62, 69, 76, 83},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Normal,
- .race = Race::Asian,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Normal),
+ .race = static_cast<u32>(Race::Asian),
.values_count = 27,
.values = {0, 1, 2, 3, 4, 5, 6, 10, 11, 12, 13, 14, 16, 17,
18, 20, 21, 24, 25, 58, 62, 69, 74, 76, 81, 83, 85},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Old,
- .race = Race::Asian,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Old),
+ .race = static_cast<u32>(Race::Asian),
.values_count = 27,
.values = {0, 1, 2, 3, 4, 5, 6, 10, 11, 12, 13, 14, 16, 17,
18, 20, 21, 24, 25, 58, 62, 69, 74, 76, 81, 83, 85},
@@ -1139,148 +1139,148 @@ const std::array<RandomMiiData3, 9> RandomMiiHairColor{
const std::array<RandomMiiData4, 18> RandomMiiEyeType{
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Young,
- .race = Race::Black,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Young),
+ .race = static_cast<u32>(Race::Black),
.values_count = 26,
.values = {2, 3, 5, 7, 8, 9, 11, 12, 13, 15, 16, 18, 27,
29, 32, 34, 36, 38, 39, 41, 43, 47, 49, 51, 53, 57},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Normal,
- .race = Race::Black,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Normal),
+ .race = static_cast<u32>(Race::Black),
.values_count = 26,
.values = {2, 3, 5, 7, 8, 9, 11, 12, 13, 15, 16, 18, 27,
29, 32, 34, 36, 38, 39, 41, 43, 47, 49, 51, 53, 57},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Old,
- .race = Race::Black,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Old),
+ .race = static_cast<u32>(Race::Black),
.values_count = 27,
.values = {2, 3, 5, 7, 8, 9, 11, 12, 13, 15, 16, 18, 26, 27,
29, 32, 34, 36, 38, 39, 41, 43, 47, 48, 49, 53, 57},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Young,
- .race = Race::White,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Young),
+ .race = static_cast<u32>(Race::White),
.values_count = 35,
.values = {2, 3, 5, 6, 7, 8, 9, 11, 12, 13, 15, 16, 17, 18, 21, 22, 27, 29,
31, 32, 34, 36, 37, 38, 39, 41, 43, 44, 47, 49, 51, 53, 55, 56, 57},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Normal,
- .race = Race::White,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Normal),
+ .race = static_cast<u32>(Race::White),
.values_count = 35,
.values = {2, 3, 5, 6, 7, 8, 9, 11, 12, 13, 15, 16, 17, 18, 21, 22, 27, 29,
31, 32, 34, 36, 37, 38, 39, 41, 43, 44, 47, 49, 51, 53, 55, 56, 57},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Old,
- .race = Race::White,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Old),
+ .race = static_cast<u32>(Race::White),
.values_count = 35,
.values = {2, 3, 5, 6, 7, 8, 9, 11, 12, 13, 15, 16, 18, 21, 22, 26, 27, 29,
31, 32, 34, 36, 37, 38, 39, 41, 43, 44, 47, 48, 49, 50, 53, 56, 57},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Young,
- .race = Race::Asian,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Young),
+ .race = static_cast<u32>(Race::Asian),
.values_count = 30,
.values = {2, 3, 5, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 21,
22, 31, 32, 34, 36, 37, 39, 41, 44, 49, 51, 53, 55, 56, 57},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Normal,
- .race = Race::Asian,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Normal),
+ .race = static_cast<u32>(Race::Asian),
.values_count = 30,
.values = {2, 3, 5, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 21,
22, 31, 32, 34, 36, 37, 39, 41, 44, 49, 51, 53, 55, 56, 57},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Old,
- .race = Race::Asian,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Old),
+ .race = static_cast<u32>(Race::Asian),
.values_count = 30,
.values = {2, 3, 5, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 21, 22,
26, 31, 32, 34, 36, 37, 39, 41, 44, 48, 49, 50, 51, 53, 57},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Young,
- .race = Race::Black,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Young),
+ .race = static_cast<u32>(Race::Black),
.values_count = 39,
.values = {0, 1, 2, 4, 5, 7, 8, 9, 10, 11, 12, 13, 15, 16, 18, 19, 23, 24, 25, 27,
28, 29, 32, 33, 34, 35, 38, 39, 40, 41, 42, 45, 46, 47, 48, 53, 54, 57, 59},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Normal,
- .race = Race::Black,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Normal),
+ .race = static_cast<u32>(Race::Black),
.values_count = 39,
.values = {0, 1, 2, 4, 5, 7, 8, 9, 10, 11, 12, 13, 15, 16, 18, 19, 23, 24, 25, 27,
28, 29, 32, 33, 34, 35, 38, 39, 40, 41, 42, 45, 46, 47, 48, 53, 54, 57, 59},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Old,
- .race = Race::Black,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Old),
+ .race = static_cast<u32>(Race::Black),
.values_count = 40,
.values = {0, 1, 2, 4, 5, 7, 8, 9, 10, 11, 12, 13, 15, 16, 18, 19, 23, 24, 25, 26,
27, 28, 29, 32, 33, 34, 35, 38, 39, 40, 41, 42, 45, 46, 47, 48, 53, 54, 57, 59},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Young,
- .race = Race::White,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Young),
+ .race = static_cast<u32>(Race::White),
.values_count = 46,
.values = {0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17,
18, 19, 20, 21, 23, 24, 25, 27, 28, 29, 30, 32, 33, 34, 35, 37,
38, 39, 40, 41, 42, 45, 46, 47, 48, 53, 54, 57, 58, 59},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Normal,
- .race = Race::White,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Normal),
+ .race = static_cast<u32>(Race::White),
.values_count = 46,
.values = {0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17,
18, 19, 20, 21, 23, 24, 25, 27, 28, 29, 30, 32, 33, 34, 35, 37,
38, 39, 40, 41, 42, 45, 46, 47, 48, 53, 54, 57, 58, 59},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Old,
- .race = Race::White,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Old),
+ .race = static_cast<u32>(Race::White),
.values_count = 46,
.values = {0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 18,
19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 37,
38, 39, 40, 41, 42, 45, 46, 47, 48, 53, 54, 57, 58, 59},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Young,
- .race = Race::Asian,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Young),
+ .race = static_cast<u32>(Race::Asian),
.values_count = 34,
.values = {0, 1, 2, 4, 5, 7, 8, 9, 10, 11, 12, 13, 15, 16, 18, 19, 23,
24, 25, 27, 28, 29, 32, 33, 34, 35, 38, 39, 40, 41, 42, 45, 46, 47},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Normal,
- .race = Race::Asian,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Normal),
+ .race = static_cast<u32>(Race::Asian),
.values_count = 34,
.values = {0, 1, 2, 4, 5, 7, 8, 9, 10, 11, 12, 13, 15, 16, 18, 19, 23,
24, 25, 27, 28, 29, 32, 33, 34, 35, 38, 39, 40, 41, 42, 45, 46, 47},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Old,
- .race = Race::Asian,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Old),
+ .race = static_cast<u32>(Race::Asian),
.values_count = 35,
.values = {0, 1, 2, 4, 5, 7, 8, 9, 10, 11, 12, 13, 15, 16, 18, 19, 23, 24,
25, 26, 27, 28, 29, 32, 33, 34, 35, 38, 39, 40, 41, 42, 45, 46, 47},
@@ -1307,131 +1307,131 @@ const std::array<RandomMiiData2, 3> RandomMiiEyeColor{
const std::array<RandomMiiData4, 18> RandomMiiEyebrowType{
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Young,
- .race = Race::Black,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Young),
+ .race = static_cast<u32>(Race::Black),
.values_count = 18,
.values = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17, 18, 20},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Normal,
- .race = Race::Black,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Normal),
+ .race = static_cast<u32>(Race::Black),
.values_count = 18,
.values = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17, 18, 20},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Old,
- .race = Race::Black,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Old),
+ .race = static_cast<u32>(Race::Black),
.values_count = 18,
.values = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17, 18, 20},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Young,
- .race = Race::White,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Young),
+ .race = static_cast<u32>(Race::White),
.values_count = 23,
.values = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Normal,
- .race = Race::White,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Normal),
+ .race = static_cast<u32>(Race::White),
.values_count = 23,
.values = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Old,
- .race = Race::White,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Old),
+ .race = static_cast<u32>(Race::White),
.values_count = 23,
.values = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Young,
- .race = Race::Asian,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Young),
+ .race = static_cast<u32>(Race::Asian),
.values_count = 21,
.values = {0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Normal,
- .race = Race::Asian,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Normal),
+ .race = static_cast<u32>(Race::Asian),
.values_count = 21,
.values = {0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Old,
- .race = Race::Asian,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Old),
+ .race = static_cast<u32>(Race::Asian),
.values_count = 21,
.values = {0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Young,
- .race = Race::Black,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Young),
+ .race = static_cast<u32>(Race::Black),
.values_count = 9,
.values = {0, 1, 3, 7, 8, 9, 10, 11, 13},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Normal,
- .race = Race::Black,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Normal),
+ .race = static_cast<u32>(Race::Black),
.values_count = 9,
.values = {0, 1, 3, 7, 8, 9, 10, 11, 13},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Old,
- .race = Race::Black,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Old),
+ .race = static_cast<u32>(Race::Black),
.values_count = 9,
.values = {0, 1, 3, 7, 8, 9, 10, 11, 13},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Young,
- .race = Race::White,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Young),
+ .race = static_cast<u32>(Race::White),
.values_count = 11,
.values = {0, 1, 3, 7, 8, 9, 10, 11, 13, 15, 19},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Normal,
- .race = Race::White,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Normal),
+ .race = static_cast<u32>(Race::White),
.values_count = 11,
.values = {0, 1, 3, 7, 8, 9, 10, 11, 13, 15, 19},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Old,
- .race = Race::White,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Old),
+ .race = static_cast<u32>(Race::White),
.values_count = 11,
.values = {0, 1, 3, 7, 8, 9, 10, 11, 13, 15, 19},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Young,
- .race = Race::Asian,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Young),
+ .race = static_cast<u32>(Race::Asian),
.values_count = 9,
.values = {0, 3, 7, 8, 9, 10, 11, 13, 15},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Normal,
- .race = Race::Asian,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Normal),
+ .race = static_cast<u32>(Race::Asian),
.values_count = 9,
.values = {0, 3, 7, 8, 9, 10, 11, 13, 15},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Old,
- .race = Race::Asian,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Old),
+ .race = static_cast<u32>(Race::Asian),
.values_count = 9,
.values = {0, 3, 7, 8, 9, 10, 11, 13, 15},
},
@@ -1439,128 +1439,128 @@ const std::array<RandomMiiData4, 18> RandomMiiEyebrowType{
const std::array<RandomMiiData4, 18> RandomMiiNoseType{
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Young,
- .race = Race::Black,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Young),
+ .race = static_cast<u32>(Race::Black),
.values_count = 11,
.values = {0, 1, 2, 3, 4, 5, 7, 8, 10, 13, 14},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Normal,
- .race = Race::Black,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Normal),
+ .race = static_cast<u32>(Race::Black),
.values_count = 11,
.values = {0, 1, 2, 3, 4, 5, 7, 8, 10, 13, 14},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Old,
- .race = Race::Black,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Old),
+ .race = static_cast<u32>(Race::Black),
.values_count = 11,
.values = {0, 1, 2, 3, 4, 5, 7, 8, 10, 13, 14},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Young,
- .race = Race::White,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Young),
+ .race = static_cast<u32>(Race::White),
.values_count = 18,
.values = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Normal,
- .race = Race::White,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Normal),
+ .race = static_cast<u32>(Race::White),
.values_count = 18,
.values = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Old,
- .race = Race::White,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Old),
+ .race = static_cast<u32>(Race::White),
.values_count = 15,
.values = {0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 16},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Young,
- .race = Race::Asian,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Young),
+ .race = static_cast<u32>(Race::Asian),
.values_count = 18,
.values = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Normal,
- .race = Race::Asian,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Normal),
+ .race = static_cast<u32>(Race::Asian),
.values_count = 18,
.values = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Old,
- .race = Race::Asian,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Old),
+ .race = static_cast<u32>(Race::Asian),
.values_count = 15,
.values = {0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 16},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Young,
- .race = Race::Black,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Young),
+ .race = static_cast<u32>(Race::Black),
.values_count = 8,
.values = {0, 1, 3, 4, 8, 10, 13, 14},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Normal,
- .race = Race::Black,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Normal),
+ .race = static_cast<u32>(Race::Black),
.values_count = 8,
.values = {0, 1, 3, 4, 8, 10, 13, 14},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Old,
- .race = Race::Black,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Old),
+ .race = static_cast<u32>(Race::Black),
.values_count = 8,
.values = {0, 1, 3, 4, 8, 10, 13, 14},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Young,
- .race = Race::White,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Young),
+ .race = static_cast<u32>(Race::White),
.values_count = 12,
.values = {0, 1, 3, 4, 6, 8, 9, 10, 11, 13, 14, 15},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Normal,
- .race = Race::White,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Normal),
+ .race = static_cast<u32>(Race::White),
.values_count = 11,
.values = {0, 1, 3, 4, 6, 8, 9, 10, 11, 13, 15},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Old,
- .race = Race::White,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Old),
+ .race = static_cast<u32>(Race::White),
.values_count = 10,
.values = {0, 1, 3, 4, 6, 8, 10, 11, 13, 14},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Young,
- .race = Race::Asian,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Young),
+ .race = static_cast<u32>(Race::Asian),
.values_count = 12,
.values = {0, 1, 3, 4, 6, 8, 9, 10, 11, 13, 14, 15},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Normal,
- .race = Race::Asian,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Normal),
+ .race = static_cast<u32>(Race::Asian),
.values_count = 11,
.values = {0, 1, 3, 4, 6, 8, 9, 10, 11, 13, 15},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Old,
- .race = Race::Asian,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Old),
+ .race = static_cast<u32>(Race::Asian),
.values_count = 10,
.values = {0, 1, 3, 4, 6, 8, 10, 11, 13, 14},
},
@@ -1568,145 +1568,145 @@ const std::array<RandomMiiData4, 18> RandomMiiNoseType{
const std::array<RandomMiiData4, 18> RandomMiiMouthType{
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Young,
- .race = Race::Black,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Young),
+ .race = static_cast<u32>(Race::Black),
.values_count = 25,
.values = {0, 2, 3, 6, 7, 8, 9, 10, 12, 14, 15, 17, 18,
19, 21, 22, 23, 25, 26, 28, 30, 32, 33, 34, 35},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Normal,
- .race = Race::Black,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Normal),
+ .race = static_cast<u32>(Race::Black),
.values_count = 27,
.values = {0, 2, 3, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17,
18, 19, 21, 22, 23, 25, 26, 28, 30, 32, 33, 34, 35},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Old,
- .race = Race::Black,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Old),
+ .race = static_cast<u32>(Race::Black),
.values_count = 28,
.values = {0, 2, 3, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17,
18, 19, 21, 22, 23, 25, 26, 28, 30, 31, 32, 33, 34, 35},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Young,
- .race = Race::White,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Young),
+ .race = static_cast<u32>(Race::White),
.values_count = 24,
.values = {0, 2, 3, 6, 7, 8, 9, 10, 12, 14, 15, 16,
17, 18, 19, 20, 21, 22, 23, 30, 31, 33, 34, 35},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Normal,
- .race = Race::White,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Normal),
+ .race = static_cast<u32>(Race::White),
.values_count = 26,
.values = {0, 2, 3, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 23, 30, 31, 33, 34, 35},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Old,
- .race = Race::White,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Old),
+ .race = static_cast<u32>(Race::White),
.values_count = 26,
.values = {0, 2, 3, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 23, 30, 31, 33, 34, 35},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Young,
- .race = Race::Asian,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Young),
+ .race = static_cast<u32>(Race::Asian),
.values_count = 24,
.values = {0, 2, 3, 6, 7, 8, 9, 10, 12, 14, 15, 16,
17, 18, 19, 20, 21, 22, 23, 30, 31, 33, 34, 35},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Normal,
- .race = Race::Asian,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Normal),
+ .race = static_cast<u32>(Race::Asian),
.values_count = 26,
.values = {0, 2, 3, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 23, 30, 31, 33, 34, 35},
},
RandomMiiData4{
- .gender = Gender::Male,
- .age = Age::Old,
- .race = Race::Asian,
+ .gender = static_cast<u32>(Gender::Male),
+ .age = static_cast<u32>(Age::Old),
+ .race = static_cast<u32>(Race::Asian),
.values_count = 26,
.values = {0, 2, 3, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 23, 30, 31, 33, 34, 35},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Young,
- .race = Race::Black,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Young),
+ .race = static_cast<u32>(Race::Black),
.values_count = 25,
.values = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 14, 15,
17, 18, 19, 21, 22, 23, 25, 26, 30, 33, 34, 35},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Normal,
- .race = Race::Black,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Normal),
+ .race = static_cast<u32>(Race::Black),
.values_count = 26,
.values = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 13, 14,
15, 17, 18, 19, 21, 22, 23, 25, 26, 30, 33, 34, 35},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Old,
- .race = Race::Black,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Old),
+ .race = static_cast<u32>(Race::Black),
.values_count = 26,
.values = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 13, 14,
15, 17, 18, 19, 21, 22, 23, 25, 26, 30, 33, 34, 35},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Young,
- .race = Race::White,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Young),
+ .race = static_cast<u32>(Race::White),
.values_count = 25,
.values = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 14, 15,
17, 18, 19, 21, 22, 23, 24, 26, 27, 29, 33, 35},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Normal,
- .race = Race::White,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Normal),
+ .race = static_cast<u32>(Race::White),
.values_count = 26,
.values = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 13, 14,
15, 17, 18, 19, 21, 22, 23, 24, 26, 27, 29, 33, 35},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Old,
- .race = Race::White,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Old),
+ .race = static_cast<u32>(Race::White),
.values_count = 25,
.values = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 13, 14,
15, 17, 18, 19, 21, 22, 23, 24, 25, 29, 33, 35},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Young,
- .race = Race::Asian,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Young),
+ .race = static_cast<u32>(Race::Asian),
.values_count = 24,
.values = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 14,
15, 16, 17, 18, 19, 21, 22, 23, 25, 26, 29, 33},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Normal,
- .race = Race::Asian,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Normal),
+ .race = static_cast<u32>(Race::Asian),
.values_count = 25,
.values = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 13, 14,
15, 16, 17, 18, 19, 21, 22, 23, 25, 26, 29, 33},
},
RandomMiiData4{
- .gender = Gender::Female,
- .age = Age::Old,
- .race = Race::Asian,
+ .gender = static_cast<u32>(Gender::Female),
+ .age = static_cast<u32>(Age::Old),
+ .race = static_cast<u32>(Race::Asian),
.values_count = 25,
.values = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 13, 14,
15, 16, 17, 18, 19, 21, 22, 23, 25, 26, 29, 33},
@@ -1755,24 +1755,24 @@ u8 FromVer3GetGlassType(u8 type) {
return FromVer3GlassTypeTable[type];
}
-u8 GetFacelineColorFromVer3(u8 color) {
- return Ver3FacelineColorTable[color];
+FacelineColor GetFacelineColorFromVer3(u32 color) {
+ return static_cast<FacelineColor>(Ver3FacelineColorTable[color]);
}
-u8 GetHairColorFromVer3(u32 color) {
- return Ver3HairColorTable[color];
+CommonColor GetHairColorFromVer3(u32 color) {
+ return static_cast<CommonColor>(Ver3HairColorTable[color]);
}
-u8 GetEyeColorFromVer3(u32 color) {
- return Ver3EyeColorTable[color];
+CommonColor GetEyeColorFromVer3(u32 color) {
+ return static_cast<CommonColor>(Ver3EyeColorTable[color]);
}
-u8 GetMouthColorFromVer3(u32 color) {
- return Ver3MouthColorTable[color];
+CommonColor GetMouthColorFromVer3(u32 color) {
+ return static_cast<CommonColor>(Ver3MouthColorTable[color]);
}
-u8 GetGlassColorFromVer3(u8 color) {
- return Ver3GlassColorTable[color];
+CommonColor GetGlassColorFromVer3(u32 color) {
+ return static_cast<CommonColor>(Ver3GlassColorTable[color]);
}
} // namespace Service::Mii::RawData
diff --git a/src/core/hle/service/mii/types/raw_data.h b/src/core/hle/service/mii/types/raw_data.h
index 8c910096f..9a4cfa738 100644
--- a/src/core/hle/service/mii/types/raw_data.h
+++ b/src/core/hle/service/mii/types/raw_data.h
@@ -15,9 +15,9 @@ struct RandomMiiValues {
static_assert(sizeof(RandomMiiValues) == 0xbc, "RandomMiiValues has incorrect size.");
struct RandomMiiData4 {
- Gender gender{};
- Age age{};
- Race race{};
+ u32 gender{};
+ u32 age{};
+ u32 race{};
u32 values_count{};
std::array<u32, 47> values{};
};
@@ -64,10 +64,10 @@ u8 FromVer3GetMouthlineColor(u8 color);
u8 FromVer3GetGlassColor(u8 color);
u8 FromVer3GetGlassType(u8 type);
-u8 GetFacelineColorFromVer3(u8 color);
-u8 GetHairColorFromVer3(u32 color);
-u8 GetEyeColorFromVer3(u32 color);
-u8 GetMouthColorFromVer3(u32 color);
-u8 GetGlassColorFromVer3(u8 color);
+FacelineColor GetFacelineColorFromVer3(u32 color);
+CommonColor GetHairColorFromVer3(u32 color);
+CommonColor GetEyeColorFromVer3(u32 color);
+CommonColor GetMouthColorFromVer3(u32 color);
+CommonColor GetGlassColorFromVer3(u32 color);
} // namespace Service::Mii::RawData
diff --git a/src/core/hle/service/mii/types/store_data.cpp b/src/core/hle/service/mii/types/store_data.cpp
index 91dfd3271..8fce636c7 100644
--- a/src/core/hle/service/mii/types/store_data.cpp
+++ b/src/core/hle/service/mii/types/store_data.cpp
@@ -11,16 +11,16 @@ void StoreData::BuildDefault(u32 mii_index) {
const auto& default_mii = RawData::DefaultMii[mii_index];
core_data.SetDefault();
- core_data.SetFacelineType(static_cast<u8>(default_mii.face_type));
+ core_data.SetFacelineType(static_cast<FacelineType>(default_mii.face_type));
core_data.SetFacelineColor(
RawData::GetFacelineColorFromVer3(static_cast<u8>(default_mii.face_color)));
- core_data.SetFacelineWrinkle(static_cast<u8>(default_mii.face_wrinkle));
- core_data.SetFacelineMake(static_cast<u8>(default_mii.face_makeup));
+ core_data.SetFacelineWrinkle(static_cast<FacelineWrinkle>(default_mii.face_wrinkle));
+ core_data.SetFacelineMake(static_cast<FacelineMake>(default_mii.face_makeup));
- core_data.SetHairType(static_cast<u8>(default_mii.hair_type));
+ core_data.SetHairType(static_cast<HairType>(default_mii.hair_type));
core_data.SetHairColor(RawData::GetHairColorFromVer3(static_cast<u8>(default_mii.hair_color)));
- core_data.SetHairFlip(default_mii.hair_flip);
- core_data.SetEyeType(static_cast<u8>(default_mii.eye_type));
+ core_data.SetHairFlip(static_cast<HairFlip>(default_mii.hair_flip));
+ core_data.SetEyeType(static_cast<EyeType>(default_mii.eye_type));
core_data.SetEyeColor(RawData::GetEyeColorFromVer3(static_cast<u8>(default_mii.eye_color)));
core_data.SetEyeScale(static_cast<u8>(default_mii.eye_scale));
core_data.SetEyeAspect(static_cast<u8>(default_mii.eye_aspect));
@@ -28,7 +28,7 @@ void StoreData::BuildDefault(u32 mii_index) {
core_data.SetEyeX(static_cast<u8>(default_mii.eye_x));
core_data.SetEyeY(static_cast<u8>(default_mii.eye_y));
- core_data.SetEyebrowType(static_cast<u8>(default_mii.eyebrow_type));
+ core_data.SetEyebrowType(static_cast<EyebrowType>(default_mii.eyebrow_type));
core_data.SetEyebrowColor(
RawData::GetHairColorFromVer3(static_cast<u8>(default_mii.eyebrow_color)));
core_data.SetEyebrowScale(static_cast<u8>(default_mii.eyebrow_scale));
@@ -37,7 +37,7 @@ void StoreData::BuildDefault(u32 mii_index) {
core_data.SetEyebrowX(static_cast<u8>(default_mii.eyebrow_x));
core_data.SetEyebrowY(static_cast<u8>(default_mii.eyebrow_y));
- core_data.SetNoseType(static_cast<u8>(default_mii.nose_type));
+ core_data.SetNoseType(static_cast<NoseType>(default_mii.nose_type));
core_data.SetNoseScale(static_cast<u8>(default_mii.nose_scale));
core_data.SetNoseY(static_cast<u8>(default_mii.nose_y));
@@ -48,30 +48,30 @@ void StoreData::BuildDefault(u32 mii_index) {
core_data.SetMouthAspect(static_cast<u8>(default_mii.mouth_aspect));
core_data.SetMouthY(static_cast<u8>(default_mii.mouth_y));
- core_data.SetMustacheType(default_mii.mustache_type);
- core_data.SetBeardType(default_mii.beard_type);
+ core_data.SetMustacheType(static_cast<MustacheType>(default_mii.mustache_type));
+ core_data.SetBeardType(static_cast<BeardType>(default_mii.beard_type));
core_data.SetBeardColor(
RawData::GetHairColorFromVer3(static_cast<u8>(default_mii.beard_color)));
core_data.SetMustacheScale(static_cast<u8>(default_mii.mustache_scale));
core_data.SetMustacheY(static_cast<u8>(default_mii.mustache_y));
- core_data.SetGlassType(static_cast<u8>(default_mii.glasses_type));
+ core_data.SetGlassType(static_cast<GlassType>(default_mii.glasses_type));
core_data.SetGlassColor(
RawData::GetGlassColorFromVer3(static_cast<u8>(default_mii.glasses_color)));
core_data.SetGlassScale(static_cast<u8>(default_mii.glasses_scale));
core_data.SetGlassY(static_cast<u8>(default_mii.glasses_y));
- core_data.SetMoleType(static_cast<u8>(default_mii.mole_type));
+ core_data.SetMoleType(static_cast<MoleType>(default_mii.mole_type));
core_data.SetMoleScale(static_cast<u8>(default_mii.mole_scale));
core_data.SetMoleX(static_cast<u8>(default_mii.mole_x));
core_data.SetMoleY(static_cast<u8>(default_mii.mole_y));
core_data.SetHeight(static_cast<u8>(default_mii.height));
core_data.SetBuild(static_cast<u8>(default_mii.weight));
- core_data.SetGender(default_mii.gender);
- core_data.SetFavoriteColor(static_cast<u8>(default_mii.favorite_color));
+ core_data.SetGender(static_cast<Gender>(default_mii.gender));
+ core_data.SetFavoriteColor(static_cast<FavoriteColor>(default_mii.favorite_color));
core_data.SetRegionMove(static_cast<u8>(default_mii.region_move));
- core_data.SetFontRegion(default_mii.font_region);
+ core_data.SetFontRegion(static_cast<FontRegion>(default_mii.font_region));
core_data.SetType(static_cast<u8>(default_mii.type));
core_data.SetNickname(default_mii.nickname);
@@ -85,16 +85,16 @@ void StoreData::BuildBase(Gender gender) {
const auto& default_mii = RawData::BaseMii[gender == Gender::Female ? 1 : 0];
core_data.SetDefault();
- core_data.SetFacelineType(static_cast<u8>(default_mii.face_type));
+ core_data.SetFacelineType(static_cast<FacelineType>(default_mii.face_type));
core_data.SetFacelineColor(
RawData::GetFacelineColorFromVer3(static_cast<u8>(default_mii.face_color)));
- core_data.SetFacelineWrinkle(static_cast<u8>(default_mii.face_wrinkle));
- core_data.SetFacelineMake(static_cast<u8>(default_mii.face_makeup));
+ core_data.SetFacelineWrinkle(static_cast<FacelineWrinkle>(default_mii.face_wrinkle));
+ core_data.SetFacelineMake(static_cast<FacelineMake>(default_mii.face_makeup));
- core_data.SetHairType(static_cast<u8>(default_mii.hair_type));
+ core_data.SetHairType(static_cast<HairType>(default_mii.hair_type));
core_data.SetHairColor(RawData::GetHairColorFromVer3(static_cast<u8>(default_mii.hair_color)));
- core_data.SetHairFlip(default_mii.hair_flip);
- core_data.SetEyeType(static_cast<u8>(default_mii.eye_type));
+ core_data.SetHairFlip(static_cast<HairFlip>(default_mii.hair_flip));
+ core_data.SetEyeType(static_cast<EyeType>(default_mii.eye_type));
core_data.SetEyeColor(RawData::GetEyeColorFromVer3(static_cast<u8>(default_mii.eye_color)));
core_data.SetEyeScale(static_cast<u8>(default_mii.eye_scale));
core_data.SetEyeAspect(static_cast<u8>(default_mii.eye_aspect));
@@ -102,7 +102,7 @@ void StoreData::BuildBase(Gender gender) {
core_data.SetEyeX(static_cast<u8>(default_mii.eye_x));
core_data.SetEyeY(static_cast<u8>(default_mii.eye_y));
- core_data.SetEyebrowType(static_cast<u8>(default_mii.eyebrow_type));
+ core_data.SetEyebrowType(static_cast<EyebrowType>(default_mii.eyebrow_type));
core_data.SetEyebrowColor(
RawData::GetHairColorFromVer3(static_cast<u8>(default_mii.eyebrow_color)));
core_data.SetEyebrowScale(static_cast<u8>(default_mii.eyebrow_scale));
@@ -111,7 +111,7 @@ void StoreData::BuildBase(Gender gender) {
core_data.SetEyebrowX(static_cast<u8>(default_mii.eyebrow_x));
core_data.SetEyebrowY(static_cast<u8>(default_mii.eyebrow_y));
- core_data.SetNoseType(static_cast<u8>(default_mii.nose_type));
+ core_data.SetNoseType(static_cast<NoseType>(default_mii.nose_type));
core_data.SetNoseScale(static_cast<u8>(default_mii.nose_scale));
core_data.SetNoseY(static_cast<u8>(default_mii.nose_y));
@@ -122,30 +122,30 @@ void StoreData::BuildBase(Gender gender) {
core_data.SetMouthAspect(static_cast<u8>(default_mii.mouth_aspect));
core_data.SetMouthY(static_cast<u8>(default_mii.mouth_y));
- core_data.SetMustacheType(default_mii.mustache_type);
- core_data.SetBeardType(default_mii.beard_type);
+ core_data.SetMustacheType(static_cast<MustacheType>(default_mii.mustache_type));
+ core_data.SetBeardType(static_cast<BeardType>(default_mii.beard_type));
core_data.SetBeardColor(
RawData::GetHairColorFromVer3(static_cast<u8>(default_mii.beard_color)));
core_data.SetMustacheScale(static_cast<u8>(default_mii.mustache_scale));
core_data.SetMustacheY(static_cast<u8>(default_mii.mustache_y));
- core_data.SetGlassType(static_cast<u8>(default_mii.glasses_type));
+ core_data.SetGlassType(static_cast<GlassType>(default_mii.glasses_type));
core_data.SetGlassColor(
RawData::GetGlassColorFromVer3(static_cast<u8>(default_mii.glasses_color)));
core_data.SetGlassScale(static_cast<u8>(default_mii.glasses_scale));
core_data.SetGlassY(static_cast<u8>(default_mii.glasses_y));
- core_data.SetMoleType(static_cast<u8>(default_mii.mole_type));
+ core_data.SetMoleType(static_cast<MoleType>(default_mii.mole_type));
core_data.SetMoleScale(static_cast<u8>(default_mii.mole_scale));
core_data.SetMoleX(static_cast<u8>(default_mii.mole_x));
core_data.SetMoleY(static_cast<u8>(default_mii.mole_y));
core_data.SetHeight(static_cast<u8>(default_mii.height));
core_data.SetBuild(static_cast<u8>(default_mii.weight));
- core_data.SetGender(default_mii.gender);
- core_data.SetFavoriteColor(static_cast<u8>(default_mii.favorite_color));
+ core_data.SetGender(static_cast<Gender>(default_mii.gender));
+ core_data.SetFavoriteColor(static_cast<FavoriteColor>(default_mii.favorite_color));
core_data.SetRegionMove(static_cast<u8>(default_mii.region_move));
- core_data.SetFontRegion(default_mii.font_region);
+ core_data.SetFontRegion(static_cast<FontRegion>(default_mii.font_region));
core_data.SetType(static_cast<u8>(default_mii.type));
core_data.SetNickname(default_mii.nickname);
@@ -184,7 +184,7 @@ void StoreData::SetFontRegion(FontRegion value) {
core_data.SetFontRegion(value);
}
-void StoreData::SetFavoriteColor(u8 value) {
+void StoreData::SetFavoriteColor(FavoriteColor value) {
core_data.SetFavoriteColor(value);
}
@@ -208,27 +208,27 @@ void StoreData::SetRegionMove(u8 value) {
core_data.SetRegionMove(value);
}
-void StoreData::SetFacelineType(u8 value) {
+void StoreData::SetFacelineType(FacelineType value) {
core_data.SetFacelineType(value);
}
-void StoreData::SetFacelineColor(u8 value) {
+void StoreData::SetFacelineColor(FacelineColor value) {
core_data.SetFacelineColor(value);
}
-void StoreData::SetFacelineWrinkle(u8 value) {
+void StoreData::SetFacelineWrinkle(FacelineWrinkle value) {
core_data.SetFacelineWrinkle(value);
}
-void StoreData::SetFacelineMake(u8 value) {
+void StoreData::SetFacelineMake(FacelineMake value) {
core_data.SetFacelineMake(value);
}
-void StoreData::SetHairType(u8 value) {
+void StoreData::SetHairType(HairType value) {
core_data.SetHairType(value);
}
-void StoreData::SetHairColor(u8 value) {
+void StoreData::SetHairColor(CommonColor value) {
core_data.SetHairColor(value);
}
@@ -236,11 +236,11 @@ void StoreData::SetHairFlip(HairFlip value) {
core_data.SetHairFlip(value);
}
-void StoreData::SetEyeType(u8 value) {
+void StoreData::SetEyeType(EyeType value) {
core_data.SetEyeType(value);
}
-void StoreData::SetEyeColor(u8 value) {
+void StoreData::SetEyeColor(CommonColor value) {
core_data.SetEyeColor(value);
}
@@ -264,11 +264,11 @@ void StoreData::SetEyeY(u8 value) {
core_data.SetEyeY(value);
}
-void StoreData::SetEyebrowType(u8 value) {
+void StoreData::SetEyebrowType(EyebrowType value) {
core_data.SetEyebrowType(value);
}
-void StoreData::SetEyebrowColor(u8 value) {
+void StoreData::SetEyebrowColor(CommonColor value) {
core_data.SetEyebrowColor(value);
}
@@ -292,7 +292,7 @@ void StoreData::SetEyebrowY(u8 value) {
core_data.SetEyebrowY(value);
}
-void StoreData::SetNoseType(u8 value) {
+void StoreData::SetNoseType(NoseType value) {
core_data.SetNoseType(value);
}
@@ -308,7 +308,7 @@ void StoreData::SetMouthType(u8 value) {
core_data.SetMouthType(value);
}
-void StoreData::SetMouthColor(u8 value) {
+void StoreData::SetMouthColor(CommonColor value) {
core_data.SetMouthColor(value);
}
@@ -324,7 +324,7 @@ void StoreData::SetMouthY(u8 value) {
core_data.SetMouthY(value);
}
-void StoreData::SetBeardColor(u8 value) {
+void StoreData::SetBeardColor(CommonColor value) {
core_data.SetBeardColor(value);
}
@@ -344,11 +344,11 @@ void StoreData::SetMustacheY(u8 value) {
core_data.SetMustacheY(value);
}
-void StoreData::SetGlassType(u8 value) {
+void StoreData::SetGlassType(GlassType value) {
core_data.SetGlassType(value);
}
-void StoreData::SetGlassColor(u8 value) {
+void StoreData::SetGlassColor(CommonColor value) {
core_data.SetGlassColor(value);
}
@@ -360,7 +360,7 @@ void StoreData::SetGlassY(u8 value) {
core_data.SetGlassY(value);
}
-void StoreData::SetMoleType(u8 value) {
+void StoreData::SetMoleType(MoleType value) {
core_data.SetMoleType(value);
}
@@ -388,11 +388,11 @@ FontRegion StoreData::GetFontRegion() const {
return static_cast<FontRegion>(core_data.GetFontRegion());
}
-u8 StoreData::GetFavoriteColor() const {
+FavoriteColor StoreData::GetFavoriteColor() const {
return core_data.GetFavoriteColor();
}
-u8 StoreData::GetGender() const {
+Gender StoreData::GetGender() const {
return core_data.GetGender();
}
@@ -412,39 +412,39 @@ u8 StoreData::GetRegionMove() const {
return core_data.GetRegionMove();
}
-u8 StoreData::GetFacelineType() const {
+FacelineType StoreData::GetFacelineType() const {
return core_data.GetFacelineType();
}
-u8 StoreData::GetFacelineColor() const {
+FacelineColor StoreData::GetFacelineColor() const {
return core_data.GetFacelineColor();
}
-u8 StoreData::GetFacelineWrinkle() const {
+FacelineWrinkle StoreData::GetFacelineWrinkle() const {
return core_data.GetFacelineWrinkle();
}
-u8 StoreData::GetFacelineMake() const {
+FacelineMake StoreData::GetFacelineMake() const {
return core_data.GetFacelineMake();
}
-u8 StoreData::GetHairType() const {
+HairType StoreData::GetHairType() const {
return core_data.GetHairType();
}
-u8 StoreData::GetHairColor() const {
+CommonColor StoreData::GetHairColor() const {
return core_data.GetHairColor();
}
-u8 StoreData::GetHairFlip() const {
+HairFlip StoreData::GetHairFlip() const {
return core_data.GetHairFlip();
}
-u8 StoreData::GetEyeType() const {
+EyeType StoreData::GetEyeType() const {
return core_data.GetEyeType();
}
-u8 StoreData::GetEyeColor() const {
+CommonColor StoreData::GetEyeColor() const {
return core_data.GetEyeColor();
}
@@ -468,11 +468,11 @@ u8 StoreData::GetEyeY() const {
return core_data.GetEyeY();
}
-u8 StoreData::GetEyebrowType() const {
+EyebrowType StoreData::GetEyebrowType() const {
return core_data.GetEyebrowType();
}
-u8 StoreData::GetEyebrowColor() const {
+CommonColor StoreData::GetEyebrowColor() const {
return core_data.GetEyebrowColor();
}
@@ -496,7 +496,7 @@ u8 StoreData::GetEyebrowY() const {
return core_data.GetEyebrowY();
}
-u8 StoreData::GetNoseType() const {
+NoseType StoreData::GetNoseType() const {
return core_data.GetNoseType();
}
@@ -508,11 +508,11 @@ u8 StoreData::GetNoseY() const {
return core_data.GetNoseY();
}
-u8 StoreData::GetMouthType() const {
+MouthType StoreData::GetMouthType() const {
return core_data.GetMouthType();
}
-u8 StoreData::GetMouthColor() const {
+CommonColor StoreData::GetMouthColor() const {
return core_data.GetMouthColor();
}
@@ -528,15 +528,15 @@ u8 StoreData::GetMouthY() const {
return core_data.GetMouthY();
}
-u8 StoreData::GetBeardColor() const {
+CommonColor StoreData::GetBeardColor() const {
return core_data.GetBeardColor();
}
-u8 StoreData::GetBeardType() const {
+BeardType StoreData::GetBeardType() const {
return core_data.GetBeardType();
}
-u8 StoreData::GetMustacheType() const {
+MustacheType StoreData::GetMustacheType() const {
return core_data.GetMustacheType();
}
@@ -548,11 +548,11 @@ u8 StoreData::GetMustacheY() const {
return core_data.GetMustacheY();
}
-u8 StoreData::GetGlassType() const {
+GlassType StoreData::GetGlassType() const {
return core_data.GetGlassType();
}
-u8 StoreData::GetGlassColor() const {
+CommonColor StoreData::GetGlassColor() const {
return core_data.GetGlassColor();
}
@@ -564,7 +564,7 @@ u8 StoreData::GetGlassY() const {
return core_data.GetGlassY();
}
-u8 StoreData::GetMoleType() const {
+MoleType StoreData::GetMoleType() const {
return core_data.GetMoleType();
}
diff --git a/src/core/hle/service/mii/types/store_data.h b/src/core/hle/service/mii/types/store_data.h
index 1e010000b..224c32cf8 100644
--- a/src/core/hle/service/mii/types/store_data.h
+++ b/src/core/hle/service/mii/types/store_data.h
@@ -23,51 +23,51 @@ public:
u32 IsValid() const;
void SetFontRegion(FontRegion value);
- void SetFavoriteColor(u8 value);
+ void SetFavoriteColor(FavoriteColor value);
void SetGender(Gender value);
void SetHeight(u8 value);
void SetBuild(u8 value);
void SetType(u8 value);
void SetRegionMove(u8 value);
- void SetFacelineType(u8 value);
- void SetFacelineColor(u8 value);
- void SetFacelineWrinkle(u8 value);
- void SetFacelineMake(u8 value);
- void SetHairType(u8 value);
- void SetHairColor(u8 value);
+ void SetFacelineType(FacelineType value);
+ void SetFacelineColor(FacelineColor value);
+ void SetFacelineWrinkle(FacelineWrinkle value);
+ void SetFacelineMake(FacelineMake value);
+ void SetHairType(HairType value);
+ void SetHairColor(CommonColor value);
void SetHairFlip(HairFlip value);
- void SetEyeType(u8 value);
- void SetEyeColor(u8 value);
+ void SetEyeType(EyeType value);
+ void SetEyeColor(CommonColor value);
void SetEyeScale(u8 value);
void SetEyeAspect(u8 value);
void SetEyeRotate(u8 value);
void SetEyeX(u8 value);
void SetEyeY(u8 value);
- void SetEyebrowType(u8 value);
- void SetEyebrowColor(u8 value);
+ void SetEyebrowType(EyebrowType value);
+ void SetEyebrowColor(CommonColor value);
void SetEyebrowScale(u8 value);
void SetEyebrowAspect(u8 value);
void SetEyebrowRotate(u8 value);
void SetEyebrowX(u8 value);
void SetEyebrowY(u8 value);
- void SetNoseType(u8 value);
+ void SetNoseType(NoseType value);
void SetNoseScale(u8 value);
void SetNoseY(u8 value);
void SetMouthType(u8 value);
- void SetMouthColor(u8 value);
+ void SetMouthColor(CommonColor value);
void SetMouthScale(u8 value);
void SetMouthAspect(u8 value);
void SetMouthY(u8 value);
- void SetBeardColor(u8 value);
+ void SetBeardColor(CommonColor value);
void SetBeardType(BeardType value);
void SetMustacheType(MustacheType value);
void SetMustacheScale(u8 value);
void SetMustacheY(u8 value);
- void SetGlassType(u8 value);
- void SetGlassColor(u8 value);
+ void SetGlassType(GlassType value);
+ void SetGlassColor(CommonColor value);
void SetGlassScale(u8 value);
void SetGlassY(u8 value);
- void SetMoleType(u8 value);
+ void SetMoleType(MoleType value);
void SetMoleScale(u8 value);
void SetMoleX(u8 value);
void SetMoleY(u8 value);
@@ -76,51 +76,51 @@ public:
Common::UUID GetCreateId() const;
FontRegion GetFontRegion() const;
- u8 GetFavoriteColor() const;
- u8 GetGender() const;
+ FavoriteColor GetFavoriteColor() const;
+ Gender GetGender() const;
u8 GetHeight() const;
u8 GetBuild() const;
u8 GetType() const;
u8 GetRegionMove() const;
- u8 GetFacelineType() const;
- u8 GetFacelineColor() const;
- u8 GetFacelineWrinkle() const;
- u8 GetFacelineMake() const;
- u8 GetHairType() const;
- u8 GetHairColor() const;
- u8 GetHairFlip() const;
- u8 GetEyeType() const;
- u8 GetEyeColor() const;
+ FacelineType GetFacelineType() const;
+ FacelineColor GetFacelineColor() const;
+ FacelineWrinkle GetFacelineWrinkle() const;
+ FacelineMake GetFacelineMake() const;
+ HairType GetHairType() const;
+ CommonColor GetHairColor() const;
+ HairFlip GetHairFlip() const;
+ EyeType GetEyeType() const;
+ CommonColor GetEyeColor() const;
u8 GetEyeScale() const;
u8 GetEyeAspect() const;
u8 GetEyeRotate() const;
u8 GetEyeX() const;
u8 GetEyeY() const;
- u8 GetEyebrowType() const;
- u8 GetEyebrowColor() const;
+ EyebrowType GetEyebrowType() const;
+ CommonColor GetEyebrowColor() const;
u8 GetEyebrowScale() const;
u8 GetEyebrowAspect() const;
u8 GetEyebrowRotate() const;
u8 GetEyebrowX() const;
u8 GetEyebrowY() const;
- u8 GetNoseType() const;
+ NoseType GetNoseType() const;
u8 GetNoseScale() const;
u8 GetNoseY() const;
- u8 GetMouthType() const;
- u8 GetMouthColor() const;
+ MouthType GetMouthType() const;
+ CommonColor GetMouthColor() const;
u8 GetMouthScale() const;
u8 GetMouthAspect() const;
u8 GetMouthY() const;
- u8 GetBeardColor() const;
- u8 GetBeardType() const;
- u8 GetMustacheType() const;
+ CommonColor GetBeardColor() const;
+ BeardType GetBeardType() const;
+ MustacheType GetMustacheType() const;
u8 GetMustacheScale() const;
u8 GetMustacheY() const;
- u8 GetGlassType() const;
- u8 GetGlassColor() const;
+ GlassType GetGlassType() const;
+ CommonColor GetGlassColor() const;
u8 GetGlassScale() const;
u8 GetGlassY() const;
- u8 GetMoleType() const;
+ MoleType GetMoleType() const;
u8 GetMoleScale() const;
u8 GetMoleX() const;
u8 GetMoleY() const;
diff --git a/src/core/hle/service/mii/types/ver3_store_data.cpp b/src/core/hle/service/mii/types/ver3_store_data.cpp
index c7624520c..1c28e0b1b 100644
--- a/src/core/hle/service/mii/types/ver3_store_data.cpp
+++ b/src/core/hle/service/mii/types/ver3_store_data.cpp
@@ -9,14 +9,14 @@
namespace Service::Mii {
void NfpStoreDataExtension::SetFromStoreData(const StoreData& store_data) {
- faceline_color = static_cast<u8>(store_data.GetFacelineColor() & 0xf);
- hair_color = static_cast<u8>(store_data.GetHairColor() & 0x7f);
- eye_color = static_cast<u8>(store_data.GetEyeColor() & 0x7f);
- eyebrow_color = static_cast<u8>(store_data.GetEyebrowColor() & 0x7f);
- mouth_color = static_cast<u8>(store_data.GetMouthColor() & 0x7f);
- beard_color = static_cast<u8>(store_data.GetBeardColor() & 0x7f);
- glass_color = static_cast<u8>(store_data.GetGlassColor() & 0x7f);
- glass_type = static_cast<u8>(store_data.GetGlassType() & 0x1f);
+ faceline_color = static_cast<u8>(store_data.GetFacelineColor()) & 0xf;
+ hair_color = static_cast<u8>(store_data.GetHairColor()) & 0x7f;
+ eye_color = static_cast<u8>(store_data.GetEyeColor()) & 0x7f;
+ eyebrow_color = static_cast<u8>(store_data.GetEyebrowColor()) & 0x7f;
+ mouth_color = static_cast<u8>(store_data.GetMouthColor()) & 0x7f;
+ beard_color = static_cast<u8>(store_data.GetBeardColor()) & 0x7f;
+ glass_color = static_cast<u8>(store_data.GetGlassColor()) & 0x7f;
+ glass_type = static_cast<u8>(store_data.GetGlassType()) & 0x1f;
}
void Ver3StoreData::BuildToStoreData(StoreData& out_store_data) const {
@@ -28,8 +28,9 @@ void Ver3StoreData::BuildToStoreData(StoreData& out_store_data) const {
// TODO: We are ignoring a bunch of data from the mii_v3
- out_store_data.SetGender(static_cast<Gender>(static_cast<u8>(mii_information.gender)));
- out_store_data.SetFavoriteColor(static_cast<u8>(mii_information.favorite_color));
+ out_store_data.SetGender(static_cast<Gender>(mii_information.gender.Value()));
+ out_store_data.SetFavoriteColor(
+ static_cast<FavoriteColor>(mii_information.favorite_color.Value()));
out_store_data.SetHeight(height);
out_store_data.SetBuild(build);
@@ -37,56 +38,60 @@ void Ver3StoreData::BuildToStoreData(StoreData& out_store_data) const {
out_store_data.SetFontRegion(
static_cast<FontRegion>(static_cast<u8>(region_information.font_region)));
- out_store_data.SetFacelineType(appearance_bits1.faceline_type);
- out_store_data.SetFacelineColor(appearance_bits1.faceline_color);
- out_store_data.SetFacelineWrinkle(appearance_bits2.faceline_wrinkle);
- out_store_data.SetFacelineMake(appearance_bits2.faceline_make);
-
- out_store_data.SetHairType(hair_type);
- out_store_data.SetHairColor(appearance_bits3.hair_color);
- out_store_data.SetHairFlip(static_cast<HairFlip>(static_cast<u8>(appearance_bits3.hair_flip)));
-
- out_store_data.SetEyeType(static_cast<u8>(appearance_bits4.eye_type));
- out_store_data.SetEyeColor(static_cast<u8>(appearance_bits4.eye_color));
+ out_store_data.SetFacelineType(
+ static_cast<FacelineType>(appearance_bits1.faceline_type.Value()));
+ out_store_data.SetFacelineColor(
+ static_cast<FacelineColor>(appearance_bits1.faceline_color.Value()));
+ out_store_data.SetFacelineWrinkle(
+ static_cast<FacelineWrinkle>(appearance_bits2.faceline_wrinkle.Value()));
+ out_store_data.SetFacelineMake(
+ static_cast<FacelineMake>(appearance_bits2.faceline_make.Value()));
+
+ out_store_data.SetHairType(static_cast<HairType>(hair_type));
+ out_store_data.SetHairColor(static_cast<CommonColor>(appearance_bits3.hair_color.Value()));
+ out_store_data.SetHairFlip(static_cast<HairFlip>(appearance_bits3.hair_flip.Value()));
+
+ out_store_data.SetEyeType(static_cast<EyeType>(appearance_bits4.eye_type.Value()));
+ out_store_data.SetEyeColor(static_cast<CommonColor>(appearance_bits4.eye_color.Value()));
out_store_data.SetEyeScale(static_cast<u8>(appearance_bits4.eye_scale));
out_store_data.SetEyeAspect(static_cast<u8>(appearance_bits4.eye_aspect));
out_store_data.SetEyeRotate(static_cast<u8>(appearance_bits4.eye_rotate));
out_store_data.SetEyeX(static_cast<u8>(appearance_bits4.eye_x));
out_store_data.SetEyeY(static_cast<u8>(appearance_bits4.eye_y));
- out_store_data.SetEyebrowType(static_cast<u8>(appearance_bits5.eyebrow_type));
- out_store_data.SetEyebrowColor(static_cast<u8>(appearance_bits5.eyebrow_color));
+ out_store_data.SetEyebrowType(static_cast<EyebrowType>(appearance_bits5.eyebrow_type.Value()));
+ out_store_data.SetEyebrowColor(
+ static_cast<CommonColor>(appearance_bits5.eyebrow_color.Value()));
out_store_data.SetEyebrowScale(static_cast<u8>(appearance_bits5.eyebrow_scale));
out_store_data.SetEyebrowAspect(static_cast<u8>(appearance_bits5.eyebrow_aspect));
out_store_data.SetEyebrowRotate(static_cast<u8>(appearance_bits5.eyebrow_rotate));
out_store_data.SetEyebrowX(static_cast<u8>(appearance_bits5.eyebrow_x));
out_store_data.SetEyebrowY(static_cast<u8>(appearance_bits5.eyebrow_y));
- out_store_data.SetNoseType(static_cast<u8>(appearance_bits6.nose_type));
+ out_store_data.SetNoseType(static_cast<NoseType>(appearance_bits6.nose_type.Value()));
out_store_data.SetNoseScale(static_cast<u8>(appearance_bits6.nose_scale));
out_store_data.SetNoseY(static_cast<u8>(appearance_bits6.nose_y));
out_store_data.SetMouthType(static_cast<u8>(appearance_bits7.mouth_type));
- out_store_data.SetMouthColor(static_cast<u8>(appearance_bits7.mouth_color));
+ out_store_data.SetMouthColor(static_cast<CommonColor>(appearance_bits7.mouth_color.Value()));
out_store_data.SetMouthScale(static_cast<u8>(appearance_bits7.mouth_scale));
out_store_data.SetMouthAspect(static_cast<u8>(appearance_bits7.mouth_aspect));
out_store_data.SetMouthY(static_cast<u8>(appearance_bits8.mouth_y));
out_store_data.SetMustacheType(
- static_cast<MustacheType>(static_cast<u8>(appearance_bits8.mustache_type)));
+ static_cast<MustacheType>(appearance_bits8.mustache_type.Value()));
out_store_data.SetMustacheScale(static_cast<u8>(appearance_bits9.mustache_scale));
out_store_data.SetMustacheY(static_cast<u8>(appearance_bits9.mustache_y));
- out_store_data.SetBeardType(
- static_cast<BeardType>(static_cast<u8>(appearance_bits9.beard_type)));
- out_store_data.SetBeardColor(static_cast<u8>(appearance_bits9.beard_color));
+ out_store_data.SetBeardType(static_cast<BeardType>(appearance_bits9.beard_type.Value()));
+ out_store_data.SetBeardColor(static_cast<CommonColor>(appearance_bits9.beard_color.Value()));
- out_store_data.SetGlassType(static_cast<u8>(appearance_bits10.glass_type));
- out_store_data.SetGlassColor(static_cast<u8>(appearance_bits10.glass_color));
+ out_store_data.SetGlassType(static_cast<GlassType>(appearance_bits10.glass_type.Value()));
+ out_store_data.SetGlassColor(static_cast<CommonColor>(appearance_bits10.glass_color.Value()));
out_store_data.SetGlassScale(static_cast<u8>(appearance_bits10.glass_scale));
out_store_data.SetGlassY(static_cast<u8>(appearance_bits10.glass_y));
- out_store_data.SetMoleType(static_cast<u8>(appearance_bits11.mole_type));
+ out_store_data.SetMoleType(static_cast<MoleType>(appearance_bits11.mole_type.Value()));
out_store_data.SetMoleScale(static_cast<u8>(appearance_bits11.mole_scale));
out_store_data.SetMoleX(static_cast<u8>(appearance_bits11.mole_x));
out_store_data.SetMoleY(static_cast<u8>(appearance_bits11.mole_y));
@@ -94,71 +99,75 @@ void Ver3StoreData::BuildToStoreData(StoreData& out_store_data) const {
void Ver3StoreData::BuildFromStoreData(const StoreData& store_data) {
version = 1;
- mii_information.gender.Assign(store_data.GetGender());
- mii_information.favorite_color.Assign(store_data.GetFavoriteColor());
+ mii_information.gender.Assign(static_cast<u8>(store_data.GetGender()));
+ mii_information.favorite_color.Assign(static_cast<u8>(store_data.GetFavoriteColor()));
height = store_data.GetHeight();
build = store_data.GetBuild();
mii_name = store_data.GetNickname();
region_information.font_region.Assign(static_cast<u8>(store_data.GetFontRegion()));
- appearance_bits1.faceline_type.Assign(store_data.GetFacelineType());
- appearance_bits2.faceline_wrinkle.Assign(store_data.GetFacelineWrinkle());
- appearance_bits2.faceline_make.Assign(store_data.GetFacelineMake());
+ appearance_bits1.faceline_type.Assign(static_cast<u8>(store_data.GetFacelineType()));
+ appearance_bits2.faceline_wrinkle.Assign(static_cast<u8>(store_data.GetFacelineWrinkle()));
+ appearance_bits2.faceline_make.Assign(static_cast<u8>(store_data.GetFacelineMake()));
- hair_type = store_data.GetHairType();
- appearance_bits3.hair_flip.Assign(store_data.GetHairFlip());
+ hair_type = static_cast<u8>(store_data.GetHairType());
+ appearance_bits3.hair_flip.Assign(static_cast<u8>(store_data.GetHairFlip()));
- appearance_bits4.eye_type.Assign(store_data.GetEyeType());
+ appearance_bits4.eye_type.Assign(static_cast<u8>(store_data.GetEyeType()));
appearance_bits4.eye_scale.Assign(store_data.GetEyeScale());
appearance_bits4.eye_aspect.Assign(store_data.GetEyebrowAspect());
appearance_bits4.eye_rotate.Assign(store_data.GetEyeRotate());
appearance_bits4.eye_x.Assign(store_data.GetEyeX());
appearance_bits4.eye_y.Assign(store_data.GetEyeY());
- appearance_bits5.eyebrow_type.Assign(store_data.GetEyebrowType());
+ appearance_bits5.eyebrow_type.Assign(static_cast<u8>(store_data.GetEyebrowType()));
appearance_bits5.eyebrow_scale.Assign(store_data.GetEyebrowScale());
appearance_bits5.eyebrow_aspect.Assign(store_data.GetEyebrowAspect());
appearance_bits5.eyebrow_rotate.Assign(store_data.GetEyebrowRotate());
appearance_bits5.eyebrow_x.Assign(store_data.GetEyebrowX());
appearance_bits5.eyebrow_y.Assign(store_data.GetEyebrowY());
- appearance_bits6.nose_type.Assign(store_data.GetNoseType());
+ appearance_bits6.nose_type.Assign(static_cast<u8>(store_data.GetNoseType()));
appearance_bits6.nose_scale.Assign(store_data.GetNoseScale());
appearance_bits6.nose_y.Assign(store_data.GetNoseY());
- appearance_bits7.mouth_type.Assign(store_data.GetMouthType());
+ appearance_bits7.mouth_type.Assign(static_cast<u8>(store_data.GetMouthType()));
appearance_bits7.mouth_scale.Assign(store_data.GetMouthScale());
appearance_bits7.mouth_aspect.Assign(store_data.GetMouthAspect());
appearance_bits8.mouth_y.Assign(store_data.GetMouthY());
- appearance_bits8.mustache_type.Assign(store_data.GetMustacheType());
+ appearance_bits8.mustache_type.Assign(static_cast<u8>(store_data.GetMustacheType()));
appearance_bits9.mustache_scale.Assign(store_data.GetMustacheScale());
appearance_bits9.mustache_y.Assign(store_data.GetMustacheY());
- appearance_bits9.beard_type.Assign(store_data.GetBeardType());
+ appearance_bits9.beard_type.Assign(static_cast<u8>(store_data.GetBeardType()));
appearance_bits10.glass_scale.Assign(store_data.GetGlassScale());
appearance_bits10.glass_y.Assign(store_data.GetGlassY());
- appearance_bits11.mole_type.Assign(store_data.GetMoleType());
+ appearance_bits11.mole_type.Assign(static_cast<u8>(store_data.GetMoleType()));
appearance_bits11.mole_scale.Assign(store_data.GetMoleScale());
appearance_bits11.mole_x.Assign(store_data.GetMoleX());
appearance_bits11.mole_y.Assign(store_data.GetMoleY());
// These types are converted to V3 from a table
appearance_bits1.faceline_color.Assign(
- RawData::FromVer3GetFacelineColor(store_data.GetFacelineColor()));
- appearance_bits3.hair_color.Assign(RawData::FromVer3GetHairColor(store_data.GetHairColor()));
- appearance_bits4.eye_color.Assign(RawData::FromVer3GetEyeColor(store_data.GetEyeColor()));
+ RawData::FromVer3GetFacelineColor(static_cast<u8>(store_data.GetFacelineColor())));
+ appearance_bits3.hair_color.Assign(
+ RawData::FromVer3GetHairColor(static_cast<u8>(store_data.GetHairColor())));
+ appearance_bits4.eye_color.Assign(
+ RawData::FromVer3GetEyeColor(static_cast<u8>(store_data.GetEyeColor())));
appearance_bits5.eyebrow_color.Assign(
- RawData::FromVer3GetHairColor(store_data.GetEyebrowColor()));
+ RawData::FromVer3GetHairColor(static_cast<u8>(store_data.GetEyebrowColor())));
appearance_bits7.mouth_color.Assign(
- RawData::FromVer3GetMouthlineColor(store_data.GetMouthColor()));
- appearance_bits9.beard_color.Assign(RawData::FromVer3GetHairColor(store_data.GetBeardColor()));
+ RawData::FromVer3GetMouthlineColor(static_cast<u8>(store_data.GetMouthColor())));
+ appearance_bits9.beard_color.Assign(
+ RawData::FromVer3GetHairColor(static_cast<u8>(store_data.GetBeardColor())));
appearance_bits10.glass_color.Assign(
- RawData::FromVer3GetGlassColor(store_data.GetGlassColor()));
- appearance_bits10.glass_type.Assign(RawData::FromVer3GetGlassType(store_data.GetGlassType()));
+ RawData::FromVer3GetGlassColor(static_cast<u8>(store_data.GetGlassColor())));
+ appearance_bits10.glass_type.Assign(
+ RawData::FromVer3GetGlassType(static_cast<u8>(store_data.GetGlassType())));
crc = MiiUtil::CalculateCrc16(&version, sizeof(Ver3StoreData) - sizeof(u16));
}
@@ -166,64 +175,65 @@ void Ver3StoreData::BuildFromStoreData(const StoreData& store_data) {
u32 Ver3StoreData::IsValid() const {
bool is_valid = version == 0 || version == 3;
- is_valid = is_valid && (mii_name.data[0] != 0);
+ is_valid = is_valid && (mii_name.data[0] != '\0');
is_valid = is_valid && (mii_information.birth_month < 13);
is_valid = is_valid && (mii_information.birth_day < 32);
- is_valid = is_valid && (mii_information.favorite_color < 12);
- is_valid = is_valid && (height < 128);
- is_valid = is_valid && (build < 128);
-
- is_valid = is_valid && (appearance_bits1.faceline_type < 12);
- is_valid = is_valid && (appearance_bits1.faceline_color < 7);
- is_valid = is_valid && (appearance_bits2.faceline_wrinkle < 12);
- is_valid = is_valid && (appearance_bits2.faceline_make < 12);
-
- is_valid = is_valid && (hair_type < 132);
- is_valid = is_valid && (appearance_bits3.hair_color < 8);
-
- is_valid = is_valid && (appearance_bits4.eye_type < 60);
- is_valid = is_valid && (appearance_bits4.eye_color < 6);
- is_valid = is_valid && (appearance_bits4.eye_scale < 8);
- is_valid = is_valid && (appearance_bits4.eye_aspect < 7);
- is_valid = is_valid && (appearance_bits4.eye_rotate < 8);
- is_valid = is_valid && (appearance_bits4.eye_x < 13);
- is_valid = is_valid && (appearance_bits4.eye_y < 19);
-
- is_valid = is_valid && (appearance_bits5.eyebrow_type < 25);
- is_valid = is_valid && (appearance_bits5.eyebrow_color < 8);
- is_valid = is_valid && (appearance_bits5.eyebrow_scale < 9);
- is_valid = is_valid && (appearance_bits5.eyebrow_aspect < 7);
- is_valid = is_valid && (appearance_bits5.eyebrow_rotate < 12);
- is_valid = is_valid && (appearance_bits5.eyebrow_x < 12);
- is_valid = is_valid && (appearance_bits5.eyebrow_y < 19);
-
- is_valid = is_valid && (appearance_bits6.nose_type < 18);
- is_valid = is_valid && (appearance_bits6.nose_scale < 9);
- is_valid = is_valid && (appearance_bits6.nose_y < 19);
-
- is_valid = is_valid && (appearance_bits7.mouth_type < 36);
- is_valid = is_valid && (appearance_bits7.mouth_color < 5);
- is_valid = is_valid && (appearance_bits7.mouth_scale < 9);
- is_valid = is_valid && (appearance_bits7.mouth_aspect < 7);
- is_valid = is_valid && (appearance_bits8.mouth_y < 19);
-
- is_valid = is_valid && (appearance_bits8.mustache_type < 6);
- is_valid = is_valid && (appearance_bits9.mustache_scale < 7);
- is_valid = is_valid && (appearance_bits9.mustache_y < 17);
-
- is_valid = is_valid && (appearance_bits9.beard_type < 6);
- is_valid = is_valid && (appearance_bits9.beard_color < 8);
-
- is_valid = is_valid && (appearance_bits10.glass_type < 9);
- is_valid = is_valid && (appearance_bits10.glass_color < 6);
- is_valid = is_valid && (appearance_bits10.glass_scale < 8);
- is_valid = is_valid && (appearance_bits10.glass_y < 21);
-
- is_valid = is_valid && (appearance_bits11.mole_type < 2);
- is_valid = is_valid && (appearance_bits11.mole_scale < 9);
- is_valid = is_valid && (appearance_bits11.mole_x < 17);
- is_valid = is_valid && (appearance_bits11.mole_y < 31);
+ is_valid = is_valid && (mii_information.favorite_color <= static_cast<u8>(FavoriteColor::Max));
+ is_valid = is_valid && (height <= MaxHeight);
+ is_valid = is_valid && (build <= MaxBuild);
+
+ is_valid = is_valid && (appearance_bits1.faceline_type <= static_cast<u8>(FacelineType::Max));
+ is_valid = is_valid && (appearance_bits1.faceline_color <= MaxVer3CommonColor - 2);
+ is_valid =
+ is_valid && (appearance_bits2.faceline_wrinkle <= static_cast<u8>(FacelineWrinkle::Max));
+ is_valid = is_valid && (appearance_bits2.faceline_make <= static_cast<u8>(FacelineMake::Max));
+
+ is_valid = is_valid && (hair_type <= static_cast<u8>(HairType::Max));
+ is_valid = is_valid && (appearance_bits3.hair_color <= MaxVer3CommonColor);
+
+ is_valid = is_valid && (appearance_bits4.eye_type <= static_cast<u8>(EyeType::Max));
+ is_valid = is_valid && (appearance_bits4.eye_color <= MaxVer3CommonColor - 2);
+ is_valid = is_valid && (appearance_bits4.eye_scale <= MaxEyeScale);
+ is_valid = is_valid && (appearance_bits4.eye_aspect <= MaxEyeAspect);
+ is_valid = is_valid && (appearance_bits4.eye_rotate <= MaxEyeRotate);
+ is_valid = is_valid && (appearance_bits4.eye_x <= MaxEyeX);
+ is_valid = is_valid && (appearance_bits4.eye_y <= MaxEyeY);
+
+ is_valid = is_valid && (appearance_bits5.eyebrow_type <= static_cast<u8>(EyebrowType::Max));
+ is_valid = is_valid && (appearance_bits5.eyebrow_color <= MaxVer3CommonColor);
+ is_valid = is_valid && (appearance_bits5.eyebrow_scale <= MaxEyebrowScale);
+ is_valid = is_valid && (appearance_bits5.eyebrow_aspect <= MaxEyebrowAspect);
+ is_valid = is_valid && (appearance_bits5.eyebrow_rotate <= MaxEyebrowRotate);
+ is_valid = is_valid && (appearance_bits5.eyebrow_x <= MaxEyebrowX);
+ is_valid = is_valid && (appearance_bits5.eyebrow_y <= MaxEyebrowY);
+
+ is_valid = is_valid && (appearance_bits6.nose_type <= static_cast<u8>(NoseType::Max));
+ is_valid = is_valid && (appearance_bits6.nose_scale <= MaxNoseScale);
+ is_valid = is_valid && (appearance_bits6.nose_y <= MaxNoseY);
+
+ is_valid = is_valid && (appearance_bits7.mouth_type <= static_cast<u8>(MouthType::Max));
+ is_valid = is_valid && (appearance_bits7.mouth_color <= MaxVer3CommonColor - 3);
+ is_valid = is_valid && (appearance_bits7.mouth_scale <= MaxMouthScale);
+ is_valid = is_valid && (appearance_bits7.mouth_aspect <= MaxMoutAspect);
+ is_valid = is_valid && (appearance_bits8.mouth_y <= MaxMouthY);
+
+ is_valid = is_valid && (appearance_bits8.mustache_type <= static_cast<u8>(MustacheType::Max));
+ is_valid = is_valid && (appearance_bits9.mustache_scale < MaxMustacheScale);
+ is_valid = is_valid && (appearance_bits9.mustache_y <= MasMustacheY);
+
+ is_valid = is_valid && (appearance_bits9.beard_type <= static_cast<u8>(BeardType::Max));
+ is_valid = is_valid && (appearance_bits9.beard_color <= MaxVer3CommonColor);
+
+ is_valid = is_valid && (appearance_bits10.glass_type <= MaxVer3GlassType);
+ is_valid = is_valid && (appearance_bits10.glass_color <= MaxVer3CommonColor - 2);
+ is_valid = is_valid && (appearance_bits10.glass_scale <= MaxGlassScale);
+ is_valid = is_valid && (appearance_bits10.glass_y <= MaxGlassScale);
+
+ is_valid = is_valid && (appearance_bits11.mole_type <= static_cast<u8>(MoleType::Max));
+ is_valid = is_valid && (appearance_bits11.mole_scale <= MaxMoleScale);
+ is_valid = is_valid && (appearance_bits11.mole_x <= MaxMoleX);
+ is_valid = is_valid && (appearance_bits11.mole_y <= MaxMoleY);
return is_valid;
}